0
私は、チェックボックスをオンにしたときにいくつかの選択フィールドが変更されるのを防ぐjqueryをいくつか持っています。これは問題なく動作していますが、バインドを解除することはできません。チェックボックスをオンにしていないときに、再度選択する必要があります。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');
});
});
ほとんどの場合、選択ボックスの値のリストに空の文字列が追加されていない可能性があります。そのため、val( '')コードが機能しません。 val()がまったく機能しない場合は、選択ボックスの選択肢を最初のオプションに設定することもできます。 – Samnan
ここにはエラーがありません:$( "input#shipping_address2").. val( "")。removeAttr( "readonly");たぶん、それはあなたがさらにjavascriptがうまくいかない理由です。 – ikostia