Jquery-как получить значение ul при нажатии на li?

Добрый день.

у меня есть список ul на моей странице. мне нужно получить значение ul когда я нажимаю на li.

HTML-код:

.ddlist {
position: absolute;
width: 316px;
display: none;
background-color: #fff;
border: 1px solid #ccc;
border-top: none;
margin: 0;
padding: 0;
margin-top: -3px;
}

.ddlist li {
list-style: none;
padding: 5px;
}


<ul id="list_t_railway" class="ddlist" style="display: block;">
   <li>Белорусский вокзал</li>
   <li>Казанский вокзал</li>
   <li>Киевский вокзал</li>
</ul>

для получения значения ul я использую скрипт:

$("#list_t_railway").on("click", function(){
      alert($(this).val());

    });

но я получаю пустое значение...

Скажите пожалуйста, почему я получаю пустое значение и как написать правильно?

P. S.: Все скрипт для теста можно посмотреть здесь

5 ответов


Если вы хотите alert содержание li элемент, вы можете добавить обработчик щелчка на всех элементах li.

$("#list_t_railway li").on("click", function(){
  alert($(this).text());

});

обновленная скрипка:http://jsfiddle.net/t7ruw/2/


li элементы не имеют value, Так что .val() ничего не вернуть. Кроме того, нет обработчика событий, связанного с <li> сами элементы:

$("#list_t_railway li").on("click", function(){
  alert($(this).text());
});

попробуйте это он даст вам же outpuy

$(document).on("click","#list_t_railway li", function(){
  alert($(this).text());
});

Если вы хотите получить значение ul, используйте это.

$("ul#list_t_railway li").on("click", function(){
 alert($("ul#list_t_railway").text());

});

$("#list_t_railway li").on("click", function(){alert($(this).html());});