下面的代码根据复选框选中状态隐藏表格行。由于它们的呈现方式,我无法定位 asp:checkbox 的 id。
CODE(表包裹在数据列表中)
<table>
<tr>
<td><asp:CheckBox ID="cb" CssClass="css" RunAt="Server"/></td>
</tr>
<tr class="row"><td></td</tr>
</table>
脚本
$("#<%= 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
(不起作用,因为 asp:checkbox 类附加到一个包装的 span 标签)
$("#<%= dl.ClientID %> #<%= cb.ClientID %>").change
*(不起作用,因为 asp:checkbox id 将_0的后缀呈现为选中状态)*
答案
<asp:CheckBox ID="cb" RunAt="Server" onclick="hide();"/>
function hide(){
$('.row').toggle()
};