【发布时间】:2014-09-11 08:39:55
【问题描述】:
我正在使用 JQuery 创建一个动态 HTML 表。示例代码如下。
var tbody=$("#myTable tbody");
var tableRow;
if(somevariableIsTrue)
tableRow=$("<tr>").attr("disabled",true);
else
tableRow=$("<tr>");
var td=$("<td>");
td.appendTo(tableRow);
var tdn=#("<td>");
tdn.appendTo(tableRow);
tableRow.appendTo(tbody);
现在我创建不同的 TD 并附加到 tableRow。如果该行的 disabled 属性为 TRUE,显然该行的所有 TD 也将被禁用。但我希望我的第一个禁用行的 TD 不应该被禁用,因为它是单击时的复选框列,我想启用/禁用同一行。我尝试了不同的方法来获取第一列中的复选框并尝试启用它,但都失败了。有人可以建议我如何在 JQuery 中做到这一点
编辑 希望这个屏幕截图有助于理解我的要求
如图所示,第一行被禁用,包括第一个带有复选框的 td。我想一直启用复选框列,以便在选中它时启用该行并且取消选中该行再次禁用该行。
【问题讨论】:
-
tr元素没有disabled属性。如果要禁用该tr中的输入,则需要将属性单独添加到所有输入。 -
它与 tr 一起工作,并根据需要禁用该 tr 中的所有其他元素。我不想迭代每个 td 来启用禁用元素,所以我选择了这种方法。
-
你还应该考虑一个轻量级的模板引擎。
-
@V.B 是 this fiddle 你想要什么?
-
@V.B 你声称在
上禁用了作品。请注意,这不适用于现代浏览器。我想你使用的是旧版本的 IE。相反,您应该禁用作为该表行子级的表单元素。
标签: jquery html disabled-control isenabled