我试图在下表中按名称禁用复选框,但它无效。有什么建议,为什么?
<table border="1" class="myTable grid">
<tr align="center">
<td>A</td>
</tr>
<tr align="center">
<td>1</td>
<td>
<input type="checkbox" name="cb1;1" value="1">
</td>
</tr>
<td>2</td>
<td>
<input type="checkbox" name="cb2;1" value="1" checked>
</td>
</tr>
<tr align="center">
</table>
<button id="button1" type="button"> DISABLE </button>
<button id="button2" type="button">ENABLE </button>
这是禁用/启用这些复选框的方法。我试过.attr('禁用','禁用');也是禁用。
$("#button1").click(function() {
var cbname = $j(this).attr("name");
$("input[name='cbname']").prop("disabled", false);
});
$("#button2").click(function() {
var cbname = $j(this).attr("name");
$("input[name='cbname']").prop("disabled", true);
});
答案 0 :(得分:1)
一些事情:
您尚未为按钮指定"name"
属性,因此找不到相关的复选框。
您没有在复选框选择器中转发cbname
变量。
所有这一切应该是这样的:
<强> HTML:强>
<table border="1" class="myTable grid">
<tr align="center">
<td>A</td>
</tr>
<tr align="center">
<td>1</td>
<td>
<input type="checkbox" name="cb1;1" value="1">
</td>
</tr>
<tr>
<td>2</td>
<td>
<input type="checkbox" name="cb2;1" value="1" checked>
</td>
</tr>
<tr align="center">
</table>
<button id="disable" type="button" name="cb1;1"> DISABLE </button>
<button id="enable" type="button" name="cb1;1">ENABLE </button>
<强>使用Javascript:强>
$("#disable").click(function() {
var cbname = $(this).attr("name");
$('input[name="'+cbname+'"]').prop("disabled", true);
});
$("#enable").click(function() {
var cbname = $(this).attr("name");
$('input[name="'+cbname+'"]').prop("disabled", false);
});
JSFiddle:https://jsfiddle.net/x324436z/
P.S。:我冒昧地命名你的启用和禁用按钮ID。
答案 1 :(得分:0)
Rour复选框名称为cb1;1
和cb2;1
,但您尝试选择cbname
,请尝试将其更改为:
$("input[name='cb1;1']").prop("disabled", false);