【问题标题】:How to disable and enable Delete button if checkbox is not checked in GridView by Jquery?如果 Jquery 在 GridView 中未选中复选框,如何禁用和启用删除按钮?
【发布时间】:2013-11-10 00:50:10
【问题描述】:

如果 Jquery 未在 GridView 中选中复选框,我想禁用和启用删除按钮? 这是我的代码,它不起作用。

请以简单的方式帮助我,因为我是新开发人员!

<script type="text/javascript">

                    $(document).ready(function () {

                       $('#<%=GridView1.ClientID %>').find('input[Id*="CheckBox1"]:checkbox').click(function() {
                           if  (this.checked ==true) 
                           {
                               $('[id$="Button2"]').attr('disabled',false);

                           }
                           else
                           {
                               $('[id$="Button2"]').attr('disabled',true);
                           }
                       })
                   });
        </script>

【问题讨论】:

  • 使用 css 类来操作 DOM 对象 .. 在 DataBound 控件的情况下..

标签: c# javascript jquery asp.net gridview


【解决方案1】:

检查复选框是否被选中的语法 -

<input id="checkbox"  type="checkbox" name="one" value="1" checked="checked">

--

// First method - Recommended
$('#checkbox').prop('checked')  // Boolean true

// Second method - Makes code more readable (e.g. in if statements)
$('#checkbox').is(':checked')  // Boolean true

// Third method - Selecting the checkbox & filtering by :checked selector
$('#checkbox:checked').length  // Integer >0
$('#checkbox:checked').size()  // .size() can be used instead of .length

// Fourth method - Getting DOM object reference
$('#checkbox').get(0).checked  // Boolean true
$('#checkbox')[0].checked      // Boolean true (same as above)

【讨论】:

    【解决方案2】:

    这是您应该使用的 JavaScript:

    $('#<%=GridView1.ClientID %> tr td input[id*="CheckBox1"][type=checkbox]').click(function () {
        var btn = $(this).closest('tr').find('td input[id*="Button2"]');
        if ($(this).prop("checked") === true) {
            btn.attr("disabled", false);
        } else {
            btn.attr("disabled", true);
        }
    });
    

    问候, 乌罗斯

    【讨论】:

    • 我必须在客户端点击时调用这个函数吗?
    【解决方案3】:

    试试这个

    function onCheckBoxChecked(obj) {
      var btn = $(obj).closest('tr').find('input[id*="Button2"]');
      var isChecked = $(obj).attr('checked') ? true : false;
      if (isChecked)
        btn.attr("disabled", false);
     else
        btn.attr("disabled", true);
    }
    

    并在 gridview 复选框中添加 onclick 事件

    <asp:CheckBox ID="chkBox" onclick="onCheckBoxChecked(this);" runat="server">
                                    </asp:CheckBox>
    
    猜你喜欢
    • 1970-01-01
    • 2013-08-12
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-08
    • 2012-04-18
    相关资源
    最近更新 更多