2010-06-04 1 views
2

이 내 코드입니다 ATTR를 추가 할 수 없습니다 :, 나는 다시

$("input[name=donationmode]").change(function() { 
    $(".setpaymentOptions").children().addClass("fadeout"); 
    $(".setpaymentOptions").children().children(".inputfield").children("input").attr("disabled", "disabled"); 

    $(".option-"+$(this).val()).removeClass("fadeout"); 
    $(".option-"+$(this).val()).children(".inputfield").children("input").removeAttr("disabled"); 

    if($(this).val() == 2) 
    { 
     $(".option-2").children(".inputfield").children("#paymentOption").find("input").removeAttr("disabled"); 
     $(".option-2").find(".addPaymentOption").attr("onclick", "addPaymentOption()"); 

    } 
    else 
    { 
     $(".option-2").children(".inputfield").children("#paymentOption").find("input").attr("disabled", "disabled"); 
     $(".option-2").find(".addPaymentOption").removeAttr("onclick"); 
    } 
}); 

나는 2 (이 3 개 라디오 버튼 라디오 버튼 그룹의) 입력을 변경하면, onclick을 .addPaymentOption에 추가합니다. 그러면 입력을 3으로 변경하고 onclick이 사라집니다. 좋습니다.

이제 까다로운 부분 인 with 2를 클릭하면 onclick이 다시 돌아 오지 않습니다.

도와주세요. 버그는 어디에 있습니까?

답변

8

onclick 특성을 추가하지 않으려면 click 처리기를 추가하고 unbind을 사용하여 제거해야합니다.

$('.option-2').find('.addPaymentOption').click(addPaymentOption); 

    $('.option-2').find('.addPaymentOption').unbind('click', addPaymentOption); 
+0

감사합니다. 그것은 효과가있다! –