【问题标题】:disabling checkbox using jQuery使用 jQuery 禁用复选框
【发布时间】:2013-10-03 15:17:10
【问题描述】:

我正在使用以下 jquery 禁用 ID 复选框

jQuery

$('.ColVis_collection button').first().find('input').attr("disabled", true);

html

此代码位于另一个按钮内,单击该按钮后会像下拉菜单一样被激活。

<div class="ColVis_collection TableTools_collection" style="display: block; position: absolute; opacity: 1; top: 102px; left: 274px; width: 449px;">
    <button class="ColVis_Button TableTools_Button" style="width: 449px;">
        <span>
            <span class="ColVis_radio">
                <input type="checkbox" checked="checked">
            </span>
            <span class="ColVis_title">
                <span>
                    id
                </span>
            </span>
        </span>
    </button>
    <button class="ColVis_Button TableTools_Button" style="width: 449px;">
        <span>
            <span class="ColVis_radio">
                <input type="checkbox" checked="checked">
            </span>
            <span class="ColVis_title">
                <span>
                    name
                </span>
            </span>
        </span>
    </button>
    .
    .
    .
</div>

第一个带有 span id 的按钮使用 jquery 被禁用,并且模糊显示它被禁用但可以单击,即选中/取消选中。我错过了什么吗?

编辑:

我正在使用 jQuery 数据表 colvis 功能,它可以让您隐藏/取消隐藏表格列

正如您在这张图片中看到的,该复选框似乎已禁用,但可以选中/取消选中

【问题讨论】:

  • 您使用的是什么版本的 jQuery?在最新版本的 jQuery 中,.attr("disabled","disabled") 应该是 .prop("disabled",bool)
  • 我不清楚问题是什么。在这个小提琴 (jsfiddle.net/j08691/PBhPJ) 中,ID 复选框被禁用。
  • @j08691,是的,但是其他复选框都不能被点击,但是当与 Datatables colvis 功能一起使用时,可以选中/取消选中复选框,并且是的,我发布的 jQuery 看起来像它已禁用但可以单击.. 我使用的是 jQuery 1.8

标签: jquery


【解决方案1】:

使用.prop() 而不是.attr() 来设置禁用属性

$('.ColVis_collection button').first().find('input[type="checkbox"]').prop("disabled", true);

演示:Fiddle

Attributes vs. Properties

【讨论】:

    【解决方案2】:

    尝试这样的事情:

     $("input").prop('disabled', true);
    

    【讨论】:

      【解决方案3】:

      尝试添加只读属性:

      $('.ColVis_collection button').first().find('input').attr("disabled", true).attr("readonly", true);
      

      这可能会让你明白。 . .

      【讨论】:

        【解决方案4】:

        不知道发生了什么。可能我以后再看。最终隐藏了第一个按钮,即

        $('.ColVis_collection button').first().attr("hidden", true);
        

        【讨论】:

          猜你喜欢
          • 2012-11-02
          • 2015-08-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-11-17
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多