Селектор jQuery из объектов jQuery - PullRequest
0 голосов
/ 24 мая 2018

Как мне прослушать событие onChange нескольких объектов jQuery?

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, а не со строковыми селекторами.

Это выглядело как простой вопрос "позвольте мне Google для вас", но я не смог найти решение для прошлогочас.

Ответы [ 3 ]

0 голосов
/ 24 мая 2018

Вы можете использовать add() или merge() метод:

Добавить:

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

Слияние:

$.merge(el1, el2).change(function (e) {
    //....
});
0 голосов
/ 24 мая 2018

Вы можете использовать .add():

el1.add(el2).on('change', function () { /* body */ });
0 голосов
/ 24 мая 2018

Попробуйте это

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" />

Кроме того, это первый результат Google, и главная ссылка это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...