0

チェックボックスがオンになっているときにいくつかの選択フィールドが変更されないようにするjqueryがあります。これは問題なく動作していますが、アンバインドが機能していないようです。チェックボックスのチェックを外したときに、選択を再び機能させる必要があります。

$("input#same").live('click', function () {
    if ($("input#same").is(':checked')) {
        // Checked, copy values 
        $("input#shipping_first_name").val($("input#first_name").val()).attr("readonly", true);
        $("input#shipping_last_name").val($("input#last_name").val()).attr("readonly", true);
        $("input#shipping_address").val($("input#address").val()).attr("readonly", true);
        $("input#shipping_address2").val($("input#address2").val()).attr("readonly", true);
        $("input#shipping_city").val($("input#city").val()).attr("readonly", true);
        $("select#shipping_state").val($("select#state").val()).bind("change", function () {
            $("select#shipping_state").val($("select#state").val())
        });
        $("input#shipping_zip").val($("input#zip").val()).attr("readonly", true);
        $("select#shipping_country_code").val($("select#country_code").val()).bind("change", function () {
            $("select#shipping_country_code").val($("select#country_code").val())
        });
    } else {
        // Clear on uncheck 
        $("input#shipping_first_name").val("").removeAttr("readonly");
        $("input#shipping_last_name").val("").removeAttr("readonly");
        $("input#shipping_address").val("").removeAttr("readonly");
        $("input#shipping_address2")..val("").removeAttr("readonly");
        $("input#shipping_city").val("").removeAttr("readonly");
        $("select#shipping_state").val("").unbind("change");
        $("input#shipping_zip").val("").removeAttr("readonly");
        $("select#shipping_country_code").val("").unbind("change");
    }
});
$('#order').live('submit', function () {
    $('input[type=submit]', this).attr('disabled', 'disabled');
});
});
4

1 に答える 1

1

ライブを使用してイベントを添付する場合は、.die() を使用します。ここを参照してください: http://api.jquery.com/die/

于 2011-01-18T13:46:08.737 に答える