我有以下幾點:選擇在更改事件
var deliveryform = ('form[id$="shipping_method"]');
$('body').on('change', (deliveryform "input[type=radio]"), {}, function(event) {
console.log('you changed the radio');
});
但我的選擇不工作 - 我需要改變這裏的東西嗎?
我有以下幾點:選擇在更改事件
var deliveryform = ('form[id$="shipping_method"]');
$('body').on('change', (deliveryform "input[type=radio]"), {}, function(event) {
console.log('you changed the radio');
});
但我的選擇不工作 - 我需要改變這裏的東西嗎?
您需要連接字符串選擇器。儘管您提供了第三個參數,因爲您根本不想傳遞任何數據,所以它根本不是必需的,因此爲{}
。
var deliveryform = 'form[id$="shipping_method"]';
$('body').on('change', deliveryform + " input[type=radio]", function(event) {
// -----------^^^^^^^---------------^^^^^^-----
console.log('you changed the radio');
});
如果這些最初加載那麼就沒有必要的event delegation都只是處理程序直接綁定到的元素。
$('form[id$="shipping_method"] input[type=radio]').change(function(event) {
console.log('you changed the radio');
});
如果表單輸入動態添加然後替換body
與形式選擇器。
$('form[id$="shipping_method"]').on('change', "input[type=radio]", function(event) {
console.log('you changed the radio');
});
你的語法不太對。使用deliveryform
作爲主選擇器。試試這個:
var $deliveryform = $('form[id$="shipping_method"]');
$deliveryform.on('change', "input[type=radio]", function(event) {
console.log('you changed the radio');
});
您需要使用這樣的:
var deliveryform = $('form[id$="shipping_method"]'); // was missing dollor sign
deliveryform.on('change', "input[type=radio]", {}, function(event) {
console.log('you changed the radio');
});
替代回答你的問題:
var deliveryform = 'form[id$="shipping_method"]'; // removed()
$('body').on('change', deliveryform + " input[type=radio]", {}, function(event) {
//. ^^------------------^^
console.log('you changed the radio');
});
form
選擇錯過$
。form
對象,那麼爲什麼要綁定change
事件body
?只需使用表格!var deliveryform = $('form[id$="shipping_method"]');
deliveryform.on('change', "input[type=radio]", function() {
console.log('you changed the radio');
});