【问题标题】:JQuery - Set checkbox inside a td to disabled?JQuery - 将 td 内的复选框设置为禁用?
【发布时间】:2012-04-17 01:55:49
【问题描述】:

很抱歉,如果这很明显,但环顾四周却无法正常工作:

row.find("td.favourite:first-child").attr('disabled', 'disabled');

我根本无法选择 td 中的复选框,有人可以帮我解决这个问题吗?

【问题讨论】:

  • 你需要提供一些标记和html
  • 请在此处粘贴您的 HTML 结构。
  • 请提供一些代码????????????????????
  • 很抱歉缺少 html。感谢您的回答,所有这些对不同的做事方式都很有用,但把它交给了@Michael,因为出于某种原因,我完全忘记了通过类或 id 访问元素!

标签: jquery select checkbox html-table


【解决方案1】:

您的复选框有 ID 吗?如果不是或者在设计时未知,为什么不为您的复选框提供一个 CSS 类 - 然后简单地使用选择器来选择类并禁用该复选框?

例如,如果您为复选框提供“MyCheckboxCSSClass”的 CSS 类(实际上根本不需要在任何地方定义 - 如果您愿意,可以自己命名),然后您可以禁用所有复选框像这样的类:

$(".MyCheckboxCSSClass").attr("disabled", true);

我相信这将为您简化整个过程。

【讨论】:

    【解决方案2】:

    在这些情况下,建议使用prop 而不是attr。 此外,将:checkbox 添加到您的选择器相当于[type="checkbox"]

    row.find('td.favorite:first-child input:checkbox').prop('disabled', true);
    

    祝你好运,尽管如果你发布你的标记,它仍然是一个更好的解决方案。

    【讨论】:

      【解决方案3】:

      您的选择器正在返回第一个 td 元素,而不是复选框,试试这个:

      row.find('td.favourite:first-child input[type="checkbox"]').attr('disabled', 'disabled');
      

      虽然这个选择器看起来很冗长。如果您发布 HTML,则很可能有更好的方法来遍历 DOM 以到达复选框。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-07-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多