2013-10-11 4 views
0

Код ниже скрывает строку таблицы на основе установленного флажка. Я не смог настроить таргетинг на id asp: checkbox из-за способа их рендеринга.Получить идентификатор asp: checkbox внутри datalist с помощью jquery

КОД (таблица завернутые в DataList)

<table> 
    <tr> 
    <td><asp:CheckBox ID="cb" CssClass="css" RunAt="Server"/></td> 
    </tr> 
    <tr class="row"><td></td</tr> 
</table> 

SCRIPT

$("#<%= dl.ClientID %> #<%= cb.ClientID %>").change(function(){ 
    var hide = this.checked ? 'none' : 'table-row'; 
    $('.row').css('display', hide); 
}); 

РЕШЕНИЯ

$("#<%= dl.ClientID %> input:checkbox").change 

(работ, но не явно предназначаться уникальный флажок)

$("#<%= dl.ClientID %> .css").change 

(не работает, потому что жерех: класс флажок attatched в свернутом тег диапазона)

$("#<%= dl.ClientID %> #<%= cb.ClientID %>").change 

* (не ли работа, потому что жерех: CheckBox ид делает suffux из _0 проверенное состояние) *

ОТВЕТ

<asp:CheckBox ID="cb" RunAt="Server" onclick="hide();"/> 

function hide(){ 
    $('.row').toggle() 
}; 
+0

Есть несколько флажков на вашей странице – tymeJV

+0

Вам действительно нужен ID? Вы не можете использовать '$ (" table td input: checkbox.css ")' или что-то еще? – CodingIntrigue

+0

У меня есть несколько флажков, и каждому нужно скрыть разные строки. – Obsidian

ответ

2

Я знаю, что в центре внимания всегда находится на Ненавязчивый JavaScript, но у вас всегда есть возможность добавлять атрибут OnClick в чекбокс, если вы не можете выяснить, лучшее решение.

<asp:CheckBox ID="cb" CssClass="css" RunAt="Server" onclick="callfunction(this);/> 
+0

Микроскопическое решение благодаря вашей идее. Спасибо @Javalsu. (см. выше) для ответа. – Obsidian

2

Попробуйте настроить ClientIDMode на Static. Это устанавливает значение ClientID для значения ID.

<asp:CheckBox ID="cb" ClientIDMode="Static" RunAt="Server" onclick="hide()" /> 

function hide() { 
    $('#cb').toggle(); 
} 
+0

Интересная подсказка спасибо @Lord Herky – Obsidian

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