在datalist复选框上禁用/启用外部asp按钮控件复选框javascript?

时间:2012-02-28 05:21:36

标签: c# javascript asp.net

我在里面有一个数据列表我正在使用一个复选框,我有一个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帮我怎么做?

2 个答案:

答案 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>