【问题标题】:Check All Not Disabled检查所有未禁用
【发布时间】:2015-06-03 19:16:41
【问题描述】:

在这里研究我发现了检查复选框是否被禁用的代码,我试图在我的代码中实现它但没有运气。

HTML:

<input type="checkbox" name="file1" id="pdf1" class = "pdffiles" value="101SP01.dwg" disabled="disabled"/><label for="pdf1"><button type = "button" class = "btn btn-primary btn-sm hidden-sm hidden-xs"> PDF</button></label><br />
<input type="checkbox" name="file2" id="pdf2" class = "pdffiles" value="101SP02.dwg" /><label for="pdf2"><button type = "button" class = "btn btn-primary btn-sm hidden-sm hidden-xs"> PDF</button></label><br />

JQuery:

function pdf(source) {
  $('input[name=pdffiles]').each(function(){
    if(!$(this).attr('disabled'))
      checkboxes[i].checked = source.checked;
  };
};

当我单击全选复选框时,它仍然全选。这是之前的工作代码,它也选择了所有(在我进行上述更改之前):

function pdf(source) {
  checkboxes = document.getElementsByClassName('pdffiles');
  for(var i=0, n=checkboxes.length;i<n;i++) {
    checkboxes[i].checked = source.checked;
  }
}

目标是只检查未禁用的复选框。

另外,如果这有帮助,这里是运行代码的单击复选框:

<input type="checkbox" onClick="pdf(this)" class = "hidden-xs hidden-sm">

哦,还有,我尝试过 .prop 而不是 .attr

下面提供的 Fiddle 代码完美运行!但我不明白为什么它不适用于我的代码:

function pdf(source) {
$('.pdffiles').not(':disabled').prop('checked', source.checked);

};

我没有改变其他任何东西..

必须有其他东西启用全选,但我无法弄清楚我正在编辑的代码中的内容。

我将此问题标记为已回答,因为提供的代码运行良好。我自己的代码中的其他内容导致全选。我正在编写的代码不是我自己的,而是我的同事,所以我将不得不尝试与他一起解决这个问题,感谢您的帮助!

【问题讨论】:

    标签: jquery checkbox disabled-input


    【解决方案1】:

    您可以使用.not()disabled-selector 来排除禁用的元素,还要注意pdffiles 是一个类而不是名称

    function pdf(source) {
        $('input.pdffiles').not(':disabled').prop('checked', source.checked);
    };
    

    演示:Fiddle

    【讨论】:

    • 或类似.is(":enabled")
    • 这很奇怪,你是对的,它是一个类而不是一个名字。那么检查一切如何?
    • @Christine268 它实际上不起作用 - jsfiddle.net/arunpjohny/y8greaq3/2
    • 不过,当我单击复选框以检查所有内容时,所有内容都被选中。我的意思是在我的代码中。
    • 查看编辑以进行更改...小提琴代码有效,但应用于我的代码时无效。 :(
    【解决方案2】:

    例如:

    $('.pdffiles').not(':disabled').prop('checked', true);
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input type="checkbox" name="file1" id="pdf1" class = "pdffiles" value="101SP01.dwg" disabled="disabled"/><label for="pdf1"><button type = "button" class = "btn btn-primary btn-sm hidden-sm hidden-xs"> PDF</button></label><br />
    <input type="checkbox" name="file2" id="pdf2" class = "pdffiles" value="101SP02.dwg" /><label for="pdf2"><button type = "button" class = "btn btn-primary btn-sm hidden-sm hidden-xs"> PDF</button></label><br />

    【讨论】:

      猜你喜欢
      • 2011-04-30
      • 1970-01-01
      • 1970-01-01
      • 2019-04-22
      • 2019-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-08
      相关资源
      最近更新 更多