Вопрос выбора JQuery - PullRequest
       18

Вопрос выбора JQuery

2 голосов
/ 29 июня 2009

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

$("#input[id$='ddlTags'] option:selected")

Может кто-нибудь пролить свет?

Спасибо.

Ответы [ 4 ]

6 голосов
/ 29 июня 2009

Ваша проблема в том, что ваша строка ищет элемент с идентификатором "input" и "ddlTags"

попробуйте изменить его на

$("input#ddlTags option:selected")

или даже просто

$("#ddlTags option:selected")

Подробнее о выборе по идентификатору см. http://docs.jquery.com/Selectors/id

редактирование:

, так как он нужен, чтобы выжить, покачиваясь, попробуйте

$("input[id$=ddlTags] option:selected")

, который совпадает с вашим оригиналом, за исключением того, что теперь он ищет теги "input" вместо тегов с идентификатором "input"

1 голос
/ 29 июня 2009

Иногда с главными страницами или элементами в повторителе фактический идентификатор элемента управления клиента искажается чем-то жестоким. Тем не менее, вы можете отправить идентификатор клиента клиенту в вашем JavaScript. Я собираюсь предположить, что ваш контроль называется ddlTags. :)

$('#<%= ddlTags.ClientID %> option:selected')

Это вернет вам объект jQuery, содержащий все выбранные теги опций. Однако, так как вы используете ddl, я предполагаю, что это один выбор. Если все, что вам нужно, это значение выбора, вы можете получить немного проще.

$('#<%= ddlTags.ClientID %>').val()

Это дает вам значение выбранных элементов в этом элементе.

<% = - это сокращение от "передавать этот фрагмент клиенту при рендеринге". Это действительно удобная штука в сочетании с jQuery. </p>

Действительно, вы хотите использовать селектор на основе идентификатора, например, по сравнению с использованием что-то вроде input [id = <% = ddlTags.ClientID%>], потому что тогда jQuery может использовать встроенные в браузер функции для выбора, беги чуть быстрее.

1 голос
/ 29 июня 2009

$ (опция [[id $ = 'ddlTags']: выбрано)

Кажется, сработало.

0 голосов
/ 29 июня 2009

# обозначает ID, поэтому сейчас вы запрашиваете элементы с ID = "input [id $ = 'ddlTags'].

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