Javascript jQuery按名称选择属性只选择第一个匹配的元素
以下事件仅在名称为merchant category(商户类别)的第一个下拉列表更改(选择不同选项)时触发。我需要它发生在任何具有此名称的select元素上。我认为这将是下面选择器的行为。我做错了什么Javascript jQuery按名称选择属性只选择第一个匹配的元素,javascript,jquery,Javascript,Jquery,以下事件仅在名称为merchant category(商户类别)的第一个下拉列表更改(选择不同选项)时触发。我需要它发生在任何具有此名称的select元素上。我认为这将是下面选择器的行为。我做错了什么 $('select[name=merchant-category]').change(function(){ console.log('called'); }); 使用each()在jQuery中选择多个元素 尝试1: $.each('select[name=merchant-cate
$('select[name=merchant-category]').change(function(){
console.log('called');
});
使用each()
在jQuery中选择多个元素
尝试1:
$.each('select[name=merchant-category]').change(function(){
console.log('called');
});
$('select[name=merchant-category]').each(change(function(){
console.log('called');
});
尝试2:
$.each('select[name=merchant-category]').change(function(){
console.log('called');
});
$('select[name=merchant-category]').each(change(function(){
console.log('called');
});
试试这个:
$(document).on('change', 'select[name="merchant-category"]',function() {
console.log('called');
});
通过使用带有选择器的.on(
语法,您还可以捕获动态创建的元素
无论如何,$('select[name=“merchant category”]”)
应返回多个元素,而不仅仅是第一个元素。如果不是,请仔细检查代码中的拼写错误
$(函数(){
$(文档)。在('change',选择[name=“merchant category”]”,函数()上{
变量通知=$(“”).text($(this.attr('id')+'changed!');
$(“#更新”)。追加(通知);
});
});
1.
2.
1.
2.
是否动态添加其他元素?它将为代码运行时存在的所有元素激发。如果在代码运行后添加元素,则需要使用事件删除功能。是否可以使用.clone()动态添加其他元素。是的,使用.clone()动态添加其他元素这不会有什么不同,jQuery已经在内部使用each
将事件处理程序添加到集合中。如果操作代码不起作用,这将不起作用。请尝试让您知道。谢谢,成功了,您能告诉我为什么(我在动态添加其他select元素)?我在$(文档)中使用了上一段代码.ready()…那么,它没有将事件侦听器绑定到dom元素吗?如果我将它放在$(document).ready()之外,它会工作吗?$(document).ready(…
只在DOM准备就绪时运行代码。但是,如果在页面已加载后添加新元素,则选择器将无法捕获新的传入元素。当您使用我解释的方法时,您的意思是“聆听文档
,查找与选择[name=“merchant category”]
匹配的任何元素。”即使是后来添加的。