Jquery: 如何将事件绑定到具有同级元素的元素?
Jquery: How to bind an event to element that has a sibling?
我希望将更改事件绑定到输入元素,但前提是它的下一个兄弟元素是 select 元素,这样当输入值更改时,如果它与中的任何选项匹配select 元素,则该选项将被 selected。我知道我可以将事件绑定到所有输入,然后检查它们是否每个都有 select 同级,但这在计算上更昂贵,所以我宁愿不这样做。有什么想法吗?
这是我目前使用的:
$("input").each(function () {
var elmt = $(this);
if (!elmt.next("select")) {
return;
}
elmt.on("change", function () {
if (elmt.next("select").has("option[value='"+elmt.val()+"']")) {
elmt.next("select").val(elmt.val());
}
else {
elmt.next("select").val("");
}
});
});
你也许可以 jquery .prev
$('inputs + select').prev().on(...);
试试看
我希望将更改事件绑定到输入元素,但前提是它的下一个兄弟元素是 select 元素,这样当输入值更改时,如果它与中的任何选项匹配select 元素,则该选项将被 selected。我知道我可以将事件绑定到所有输入,然后检查它们是否每个都有 select 同级,但这在计算上更昂贵,所以我宁愿不这样做。有什么想法吗?
这是我目前使用的:
$("input").each(function () {
var elmt = $(this);
if (!elmt.next("select")) {
return;
}
elmt.on("change", function () {
if (elmt.next("select").has("option[value='"+elmt.val()+"']")) {
elmt.next("select").val(elmt.val());
}
else {
elmt.next("select").val("");
}
});
});
你也许可以 jquery .prev
$('inputs + select').prev().on(...);
试试看