Javascript 关于更改多个选定元素的jQuery

Javascript 关于更改多个选定元素的jQuery,javascript,jquery,Javascript,Jquery,我有多个这样的选择元素 <select id="changefilter" name="id"><option value="">1</option></select> <select id="changefilter" name="price"><option value="">1</option></select> <select id="changefilter" name="sort"&

我有多个这样的选择元素

<select id="changefilter" name="id"><option value="">1</option></select>
<select id="changefilter" name="price"><option value="">1</option></select>
<select id="changefilter" name="sort"><option value="">1</option></select>
问题是,它似乎只将onchange表单submit应用于第一个字段,我希望它适用于任何已更改的选定字段

有没有办法让一个代码侦听所有选择元素,而不是给每个选择字段一个唯一的名称和不同的.change事件?

id必须是唯一的使用类别。反而


每个元素的Id必须是唯一的。另一方面,类可以是多个的

将一个类添加到多选择并执行$'.classname'。更改

将id更改为类

<select class="changefilter" name="id"><option value="">1</option></select>
<select class="changefilter" name="price"><option value="">1</option>   </select>
<select class="changefilter" name="sort"><option value="">1</option></select>

jQuery('.changefilter').change(function () {
jQuery('#applyfilter').submit();
});

请将id属性更改为class属性,因为id必须是唯一的,所以不能有多个具有相同id的DOM元素。
如果将选择器从jQuery'changefilter'更改为jQuery'.changefilter',它将按预期工作

使用类而不是ID,下面是一个如何获取所选内容的名称和值的示例

<select class="changefilter" name="id"><option value="1">1</option><option value="2">2</option></select>
<select class="changefilter" name="price"><option value="1">1</option><option value="2">2</option></select>
<select class="changefilter" name="sort"><option value="1">1</option><option value="2">2</option></select>

<script>
    $('.changefilter').change(function () {
        alert('' + this.name + ' is change to ' + this.value)
    });
</script>
ID应该是唯一的。 根据您的情况,您必须更改ID

<select id="id" name="id"><option value="">1</option></select>
<select id="price" name="price"><option value="">1</option></select>
<select id="sort" name="sort"><option value="">1</option></select>

使用类而不是ID。id在页面上应该是唯一的。多个元素不允许使用相同的id。这不是HTML标准。尝试提供唯一的id,并为所有对象分配一个公共类。然后通过class not id监听事件。
<select class="changefilter" name="id"><option value="1">1</option><option value="2">2</option></select>
<select class="changefilter" name="price"><option value="1">1</option><option value="2">2</option></select>
<select class="changefilter" name="sort"><option value="1">1</option><option value="2">2</option></select>

<script>
    $('.changefilter').change(function () {
        alert('' + this.name + ' is change to ' + this.value)
    });
</script>
<select id="id" name="id"><option value="">1</option></select>
<select id="price" name="price"><option value="">1</option></select>
<select id="sort" name="sort"><option value="">1</option></select>
jQuery('#id,#price,#sort').change(function () {
    jQuery('#applyfilter').submit();
});