在禁用JQuery的情况下启用禁用HTML表元素<;TR>;
我正在用JQuery创建一个动态HTML表。下面是示例代码在禁用JQuery的情况下启用禁用HTML表元素<;TR>;,jquery,html,disabled-control,isenabled,Jquery,Html,Disabled Control,Isenabled,我正在用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=#("&
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);
var tbody=$(“#myTable tbody”);
var表格行;
如果(某些变量是真的)
tableRow=$(“”).attr(“已禁用”,true);
其他的
tableRow=$(“”);
var td=$(“”);
td.附录(表行);
变量tdn=#(“”);
tdn.附录(表行);
tableRow.appendTo(t正文);
现在我创建不同的TDs并附加到tableRow。如果行的disabled属性为TRUE,则该行的所有TDs也将被禁用。但我希望我的第一个TD的禁用行不应该被禁用,因为它是一个复选框列在其点击我想启用/禁用同一行。我尝试了不同的方法来获取第一列中的复选框,并尝试启用它,但都失败了。有人能建议我如何在JQuery中这样做吗
编辑
希望此屏幕截图有助于了解我的要求
如图所示,第一行被禁用,包括第一个td with复选框。我想始终选中要启用的列,以便在选中该列时,该行变为启用,而取消选中时,该行将再次被禁用。您只需调用
$('input[type=checkbox]').removeAttr('disabled');
或
在你所有的复选框上。这将基本上重新启用所有复选框以下是一个简单的解决方案:
// first row checkboxes
$('tr td:first-child input[type="checkbox"]').click( function() {
//enable/disable all except checkboxes, based on the row is checked or not
$(this).closest('tr').find(":input:not(:first)").attr('disabled', !this.checked);
});
查看它在此中的工作情况
tr
元素没有disabled
属性。如果要禁用该tr
中的输入,则需要将该属性分别添加到所有输入中。该属性与tr一起工作,并根据需要禁用该tr中的所有其他元素。我不想重复每个TD来禁用这些元素,所以我选择了这个方法。你也应该考虑一个轻量级的模板引擎。@ V.B是你想要的?@ V.B,你要求禁用工作。注意,这在现代浏览器上不起作用。我想您使用的是旧版本的IE。相反,您应该禁用作为该表行的子级的表单元素。
// first row checkboxes
$('tr td:first-child input[type="checkbox"]').click( function() {
//enable/disable all except checkboxes, based on the row is checked or not
$(this).closest('tr').find(":input:not(:first)").attr('disabled', !this.checked);
});