#javascript #jquery #jquery-ui
#javascript #jquery #jquery-пользовательский интерфейс
Вопрос:
Внутри моего содержимого accordion у меня есть строки данных, которые загружаются вызовом ajax. Я хочу зафиксировать щелчок по каждой из этих строк отдельно и получить идентификатор из выбранной строки. Я могу зафиксировать событие щелчка по содержимому аккордеона. но я не могу получить его отдельно для каждой строки.
<dl id="accRegion">
<#list abc as xyz>
<dt id="${xyz}"><a class="red">${xyz}</a></dt>
<dd id="${xyz}">
<dl id="dateList" class="Heading">
<#list somelist as element>
<dt id="dateDiv"><a id="${element}" class="orange">${element}</a></dt>
</#list>
</dl>
</dd>
</#list>
это работает
$("#accRegion dd").click(function(){});
но если я попробую что-то вроде приведенного ниже, это не сработает
$("#accRegion dd dt").click(function(){});
Я не уверен, что с этим не так. Ценю любые указания на это.
Комментарии:
1. Чтобы повторить мой вопрос, при нажатии на каждый dateDiv я хочу зафиксировать значение $ {xyz} и $ {element}. если я использую $(«#accRegion dd»).click(функция(){}) Я могу правильно записать $ {xyz}, но $ {element} идет первым в списке. И если я использую $(«#accRegion dd dt»).live(‘click’, функция() {}) Я могу захватить $ {element}, но $ {xyz} всегда является первым элементом в списке. Любые указания были бы высоко оценены.
Ответ №1:
Поскольку строки создаются динамически, я предполагаю, что вам следует использовать это:
$("#accRegion dd dt").live('click', function() {
// your code here
});
Комментарии:
1. Да, это работает отлично. Но теперь у меня есть еще одна проблема. в вызове ajax я хочу отправить идентификатор элемента, на который нажат. и $(this).find(«a»).attr(«id») получает идентификатор первой строки. как получить идентификатор выбранной строки?
2. если этот ответ имеет отношение к вашему вопросу, вы должны принять этот ответ, нажав на галочку слева, чтобы ответить.
3. Да, я сделал это, но после этого люди перестали отвечать на мою проблему. итак, удалено это: O. люди отвечают только на новые сообщения?
Ответ №2:
Вы закрываете свой <dt>
с помощью </div>
Ответ №3:
$(document).on('click',"#ur_id/class", function() {
// your code here
});