来自jQuery对象的jQuery Selector

问题描述 投票:1回答:3

我怎样才能听到多个jQuery对象的onChange事件?

var el1= jQuery('input[type="checkbox"][name="x"]');
var el2= jQuery('input[type="checkbox"][name="y"]');
jQuery(el1, el2).change(function (e) {
    //....
});

当然我可以将2个元素选择器作为字符串放入.change函数中,但这是一个简化的例子。我想使用jQuery对象,而不是使用字符串选择器。

对我来说这看起来像一个简单的“让我谷歌换你”的问题,但我找不到过去一小时的解决方案。

javascript jquery dom
3个回答
1
投票

你可以使用add()merge()方法:

加:

el1.add(el2).change(function (e) {
    //....
});

合并:

$.merge(el1, el2).change(function (e) {
    //....
});

1
投票

试试这个

var el1 = jQuery('input[type="checkbox"][name="x"]');
var el2 = jQuery('input[type="checkbox"][name="y"]');


$(document).on('change', [el1, el2], function() {
  console.log('multiple')
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<label for="el1">Element 1</label>
<input id="el1" type="checkbox" name="x" value="test1" />
<label for="el2">Element 2</label>
<input id="el2" type="checkbox" name="y" value="test2" />

这也是谷歌的第一个结果,主要链接是this


1
投票

你可以使用.add()

el1.add(el2).on('change', function () { /* body */ });
© www.soinside.com 2019 - 2024. All rights reserved.