2 回答
TA贡献1836条经验 获得超5个赞
我会将一个函数绑定到复选框,然后在此函数中,如果选中了复选框,您将找到closest父级<tr>并将每个子级设为只读(不要担心复选框本身,您仍然可以再次取消选中它们。更多信息这个)<input><tr><input>
试试这个片段
$("table input.makeReadOnly").change(function (){
if($(this).prop("checked")){
$(this).closest("tr").find("input").prop("readonly", true);
} else {
$(this).closest("tr").find("input").prop("readonly", false);
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<table>
<tbody>
<tr>
<td><input></td>
<td><input></td>
<td><input class="makeReadOnly" type="checkbox"></td>
</tr>
<tr>
<td><input></td>
<td><input></td>
<td><input class="makeReadOnly" type="checkbox"></td>
</tr>
</tbody>
</table>
TA贡献1829条经验 获得超13个赞
您可以遍历页面上的复选框,然后从那里导航到 tr 属性?但是,如果没有任何代码示例,很难理解,而且我对 SO 太陌生,无法发表评论。
var inputs = form.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
if ($(inputs[i]).type == "checkbox" && $(inputs[i]).is(':checked')){
$(inputs[i]).closest('tr').prop('readonly', true);
}
}
可能太冗长并且可能会被追捕,但我认为它可能会有所帮助!
- 2 回答
- 0 关注
- 227 浏览
添加回答
举报
