2016-02-29 2 views
2

Мой ASPX код выглядит следующим образом:Как получить поверочного динамическое значение внутри Li ул

<ul id="userlist"> 
    <a class="s-test"> 
     <li> 
      <span id="userlistspan" class="tt-User" value="1">Cardiologist</span> 
      <span id="userlistspan1" class="tt-Userss">SPECIALITY</span> 
     </li> 
    </a> 
    <a class="s-test"> 
     <li> 
      <span id="userlistspan" class="tt-User" value="2">Cardio</span> 
      <span id="userlistspan1" class="tt-Userss">SPECIALITY</span> 
     </li> 
    </a> 
</ul> 

JQuery Я попытался, как это:

$('#userlist li #userlistspan').click(function() { 
    $('#txtSearch').val($(this).text()); 
}) 
//here am getting text like Cardio 

Как я могу получить значение как value=2 от что span?

+0

Ваш HTML полностью недействительным. 1) вы не можете иметь элемент 'a' как прямой дочерний элемент' ul'. Элемент 'li' должен быть дочерним. 2) У вас есть повторяющиеся атрибуты id. 3) Элементы 'span' не имеют атрибута' value' 4), элемент 'a' должен иметь атрибут' href' или 'name'. –

+0

$ ('# userlistspan'). Attr ('value'); – Mitali

+0

'userlistspan' всегда возвращает первое значение attr. –

ответ

2

Ваш HTML полностью недействительным по нескольким причинам:

  • вы не можете иметь a элемент в качестве прямого потомка в ul. li должен быть дочерним элементом.
  • У вас есть дубликаты атрибутов id, когда id должен быть уникальным в том же документе, вместо этого используйте классы для группировки элементов.
  • Элементы span не имеют атрибута value, если вы хотите сохранить пользовательские данные с помощью элемента, используйте атрибут data-*.
  • Элемент a должен иметь атрибут href или name, однако их использование в этом случае кажется излишним, поэтому вы можете удалить их.

Вы должны исправить все эти вопросы первым:

<ul id="userlist"> 
    <li> 
     <span class="userlistspan tt-User" data-value="1">Cardiologist</span> 
     <span class="userlistspan1 tt-Userss">SPECIALITY</span> 
    </li> 
    <li> 
     <span class="userlistspan tt-User" data-value="2">Cardio</span> 
     <span class="userlistspan1 tt-Userss">SPECIALITY</span> 
    </li> 
</ul> 

Оттуда вы можете прикрепить обработчик щелчка к .userlistspan класса, а также использовать this ключевое слово, чтобы ссылаться на элемент, который вызвавший событие. После этого вы можете использовать метод data() получить data-value, как это:

$('#userlist li .userlistspan').click(function() { 
    var $span = $(this); 
    $('#txtSearch').val($span.text()); 
    var value = $span.data('value'); // = 1 or 2, depending on which element you clicked. 
}) 
+0

userlistspan не класс, это Id, так как я могу найти значение – Muthu

+0

@Muthu вы должны изменить его класс, так как вы не можете дублировать идентификаторы –

+0

ya я изменил его работу отлично спасибо :) – Muthu

Смежные вопросы