我在里面有一个数据列表我正在使用一个复选框,我有一个asp按钮和2个图像按钮,这是在datalist之外的类似这样的
<asp:DataList ID="dlst1" runat="server" RepeatDirection="Horizontal" OnItemDataBound="dlst1_ItemDataBound" CaptionAlign="Left">
<ItemTemplate>
<asp:ImageButton ID="btnImage" runat="server" />
<asp:CheckBox ID="Chkbox" runat="server" TextAlign="Right" />
</ItemTemplate>
</asp:DataList>
<asp:Button ID="Button1" runat="server" Enabled="false" Text="Delete" />
<asp:ImageButton ID="ibtnok" runat="server" Enabled="false" />
我想在选中任何一个复选框时启用Button1和ibtok,并在没有选中复选框时禁用Button1和ibtnok。
某人用PLZ帮我怎么做?答案 0 :(得分:2)
如果您使用的是jquery,可以这样做:
$("#Chkbox").change(function(){
if($(this).is(':checked'))
{
$('#Button1, #ibtnok').attr('disabled','disabled');
}
else
$('#Button1, #ibtnok').removeAttr('disabled');
})
如果出现多个复选框,则可以为这些复选框提供一个公共类,并且在每个更改事件中,您需要遍历所有这些元素,或者计算未选中/已选中的复选框,并执行启用/禁用你的按钮。
可以使用$('.your_common_chkbox_class').each(function_to_be_performed);
<强>更新强>
例如:
$('.your_common_chkbox_class').click(function(){
if($('.your_common_chkbox_class:checked').length > 0)
$('#Button1, #ibtnok').attr('disabled','disabled');
else
$('#Button1, #ibtnok').removeAttr('disabled');
})
答案 1 :(得分:0)
谢谢@ linuxeasy我已经把你的代码和修改后的(复选框ID)和现在的工作
<script type="text/javascript" language="javascript">
$(function () {
$('.CSSCheck').click(function () {
if ($("[id$='Chkbox']:checked").length > 0) {
$("#<%=Button1.ClientID %>").removeAttr('disabled');
}
else {
$("#<%=Button1.ClientID %>").attr('disabled', 'disabled');
}
});
});
</script>