2

这是我的代码:

$("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");
    }
});

当我将输入(这是一个由 3 个单选按钮组成的单选按钮组)更改为 2 时,它会将 onclick 添加到 .addPaymentOption。然后我将输入更改为 3 并且 onclick 消失。那挺好的。

现在棘手的部分是,当我单击返回值为 2 时,onclick 不会返回。

请帮助我,错误在哪里?

4

1 回答 1

8

您不想添加 onclick 属性,而是想要添加点击处理程序(并使用unbind删除它)。

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

   $('.option-2').find('.addPaymentOption').unbind( 'click', addPaymentOption );
于 2010-06-04T20:44:44.263 回答