2009-02-27 1 views
6

Каков правильный способ получить элемент управления, который был обработан ASP.NET с помощью jQuery?jQuery и имена ASP.NET

Пример: У меня есть флажок, который был создан как это:

<input id="ctl00_Content_chkOk" type="checkbox" name="ctl00$Content$chkOk" /> 

Если я хочу, чтобы выбрать его, чтобы получить, если он установлен, я попытался это:

$('form input[name=chkOk]').attr("checked") 

и

$('chkOk').attr("checked") 

Но это не сработало, мне пришлось это сделать

$('form input[name=ctl00$Content$chkOk]').attr("checked") 

И я предполагаю, что это работало бы тоже:

$('ctl00$Content$chkOk').attr("checked") 

Является ли это правильный способ сделать это? Есть ли другой селектор, который я могу использовать?

ответ

12

Вы можете использовать свойство на стороне сервера управления ClientID:

var isChecked = $('#<%=YourCheckBox.ClientID%>').attr("checked"); 

или вы могли бы использовать "заканчивается" селектор: attribute$=value

var isChecked = $('form input[name$=chkOk]').attr("checked"); 
0
$('#ctl00_Content_chkOk').attr('checked'); 
$('form #ctl00_Content_chkOk').attr('checked'); 
$('form input#ctl00_Content_chkOk').attr('checked'); 
$('form input#ctl00_Content_chkOk[type="checkbox"]').attr('checked'); 

Выберите один;)

0

Да, JQuery заботится только о том, что оказывается на странице, будь то через двигатель ASP.NET или через простой HTML, так что вы будете иметь доступ к его через id или имя. Используются две нижние версии, которые вы использовали, а также $ ('# ct100_Content_chk0k'). Attr («checked»).

Адам

1

Я всегда использовал это обозначение

$('#ctl00_Content_chkOk:checked').length; // will evaluate as true when checked 
1

Вы можете сделать

$ ("input [id * = _ chkOk]"). Attr ('checked');

0

Я имею тенденцию идти туда и обратно между двумя способами. Я либо использую свойство clientID элемента управления, как упоминалось в CMS, либо генерирую код javascript в своем коде позади, и использую ClientScriptManager страницы, чтобы записать его в браузер.

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

  • Нет связанных вопросов^_^