Jquery: Как связать событие с элементом, у которого есть брат? - PullRequest
1 голос
/ 14 января 2020

Я хочу привязать событие изменения к элементу ввода, но только в том случае, если его следующий брат или сестра является элементом выбора, чтобы при изменении значения ввода, если оно совпадает с любым из параметров в элементе выбора, то вариант будет выбран. Я знаю, что могу просто связать событие со всеми входами, а затем проверить, есть ли у каждого из них родственный брат, но это дороже в вычислительном отношении, поэтому я бы не стал этого делать. Есть идеи?

Это то, что я сейчас использую:

$("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("");
        }
    });
});

1 Ответ

1 голос
/ 14 января 2020

Вы можете, возможно, jquery .prev

$('inputs + select').prev().on(...);

попробовать

https://api.jquery.com/prev/

...