2013-07-10 2 views
3

У меня есть куча фиктивных ссылок в jQuery Mobile accordian. По фиктивным ссылкам я имею в виду, что href просто «#». Список создается динамически с помощью другой функции, и значение сохраняется в элементе с помощью атрибута value. Цикл пишет список, подобный этомуПолучение значения щелкнутой ссылки

'<li value="' + result.ID + '"><a href="#">' + result.Name + '</a></li>'  

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

$(document).on('click', '#openCallsList li a', function() { 

}); 

При нажатии на ссылку, я хочу, чтобы иметь значение, связанное с ним, так что я могу захватить некоторые данные из базы данных (я знаю, как это сделать), а затем создать диалог окно (которое я также знаю, как это сделать). Я просто потерял информацию о том, как получить значение, которое я сохранил по ссылке.

ответ

6

Это будет работать:

$(document).on('click', '#openCallsList li a', function() { 
    console.log($(this).closest('li').attr('value')); 
}); 
+0

Pardon мое невежество, но где я могу найти журнал, чтобы увидеть, если он работает правильно. – Matt

+0

Чтобы просмотреть консоль, вы захотите вытащить веб-инспектора в Safari, Firefox или Chrome. Не уверен, где взять его в IE. – jrthib

+0

В более поздних версиях IE вы можете просто сделать F12, чтобы получить консоль. – techfoobar

3

Хотя вы могли бы захватить атрибут value из <li> тега, это недопустимый HTML. Атрибут value устарел.

Этот атрибут устарел в HTML 4.01. Поэтому его использование больше не рекомендуется.

Источник: http://www.htmlquick.com/reference/tags/li.html#value

То, что я хотел бы предложить изменить его на что-то вроде этого:

'<li id="' + result.ID + '"><a href="#">' + result.Name + '</a></li>' 

, а затем использовать

$(document).on('click', '#openCallsList li a', function() { 
    var value = $(this).parent().attr('id'); 
    // or you could use the closest('li') function too. 
}); 
+0

Ahh спасибо, что я не знал, что значение было устаревшим. – Matt

1

Вот полный код:

HTML код:

<ul id ='openCallsList'> 
    <li value='12'><a href="#">12</a></li> 
    <li value='13'><a href="#">13</a></li> 
    <li value='14'><a href="#">14</a></li> 
    <li value='15'><a href="#">15</a></li> 
</ul> 

кода Java Script:

$(document).on('click', '#openCallsList li a', function() { 
    alert($(this).parent().attr('value')); 
}); 
Смежные вопросы