Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在禁用JQuery的情况下启用禁用HTML表元素<;TR>;_Jquery_Html_Disabled Control_Isenabled - Fatal编程技术网

在禁用JQuery的情况下启用禁用HTML表元素<;TR>;

在禁用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=#("&

我正在用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);
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);
});