Проблема с селектором jQueryscript - PullRequest
1 голос
/ 29 марта 2011

Я пытаюсь написать в jQuery-скрипте, который перехватывает нажатие клавиши «Enter» и нахожу первый A-тег, который находится в том же div с классом «findMva», а кто нет на другом дочернем div с классом «findMva».

Пример 1:

  • Я фокусируюсь на вводе с id = "input2"
  • Я нажимаю Enter
  • Я хочу, чтобы скрипт щелкнулна теге A с текстом «Подробнее 9 ...»

Пример 2

  • Я сфокусировался на вводе с id = "input4"
  • Я нажимаю Enter
  • Я хочу, чтобы скрипт щелкнул мышью по тегу A с текстом «More info 5 ...»

jQuery-script (который не работает на примере1, но не в примере 2 ...):

$("input").keydown(function (e) {  
    if (e.which == 13) {  
        $(this).closest(".findMva").find(".mva").not(".findMva > .mva").first().click();  
    }  
}

HTML-разметка:

<div class="findMva">
    <div class="findMva">
        <input type="text" id="input1" />
        <a class="mva" id="a1" href="#">More info 1...</a>
        <a class="mva" id="a2" href="#">More info 2...</a>
    </div>
    <input type="text" id="input2" />
    <div>
        <div>
            <div class="findMva">
                <input type="text" id="input3" />
                <a class="mva" id="a3" href="#">More info 3...</a>
                <a class="mva" id="a4" href="#">More info 4...</a>
                <div class="findMva">
                    <input type="text" id="input4" />
                    <a class="mva" id="a5" href="#">More info 5...</a>
                    <a class="mva" id="a6" href="#">More info 6...</a>
                    <div class="findMva">
                        <input type="text" id="input5" />
                        <a class="mva" id="a7" href="#">More info 7...</a>
                        <a class="mva" id="a8" href="#">More info 8...</a>
                    </div>
                </div>
            </div>
            <a class="mva" id="a9" href="#">More info 9...</a>
            <a class="mva" id="a10" href="#">More info 10...</a>
        </div>
    </div>
</div>

Есть предложения, как написать селектор jQuery?

1 Ответ

2 голосов
/ 30 марта 2011

Я нашел решение:

$(document).ready(function () {
    $("input").keydown(function (e) {
        if (e.which == 13) {
          var o = $(this).closest(".findMva").clone();
            o.find(".findMva").remove();
          var myid = o.find(".mva").first().attr("id");
          $("#" + myid).focus();
        }
    });
});

В этом случае я зависим от атрибута ID тега A.

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