我有这样的事情:
<table>
<tr><td><input type="checkbox" id="checkbox1"></input></td><td><input type="text" disabled="disabled" id="textInput1"></input></td></tr>
<tr><td><input type="checkbox" id="checkbox2"></input></td><td><input type="text" id="textInput2" disabled="disabled"></input></td></tr>
<tr><td><input type="checkbox" id="checkbox3"></input></td><td><input type="text" id="textInput3" disabled="disabled"></input></td></tr>
<tr><td><input type="checkbox" id="checkbox4"></input></td><td><input type="text" id="textInput4" disabled="disabled"></input></td></tr>
</table>
我正在尝试启用单击复选框所在行的文本输入。复选框选择时,必须选择多行。我尝试使用一些基本的jquery,但它只缺少启用/禁用所有行的所有文本输入,尽管单击了复选框。提前谢谢。
编辑:
$("checkbox").click(function(){
if($(this).is(":checked")){
$("input[type='text']").attr("disabled", false);
}else{
$("input[type='text']").attr("disabled", true);
}
}
答案 0 :(得分:3)
试试这个
$(":checkbox").click(function(){
$(this).closest("tr").find("input:text]").attr("disabled", !this.checked);
});
正在使用 demo
答案 1 :(得分:2)
<强>更新强>
$(document).ready(function () {
$('input:checkbox').change(function () {
$(this).closest('tr').find('input:text').attr('disabled', !$(this).is(':checked'));
});
});
答案 2 :(得分:1)
试试这个:
<script type="text/javascript">
$( document ).ready( function() {
$(":checkbox").click(function(){
var temp= $(this).attr("id");
var a = temp.split("_");
var i = a[1];
if($("#checkbox_"+i).is(":checked")){
$("#textInput_"+i).attr("disabled", false);
}else{
$("#textInput_"+i).attr("disabled", true);
}
});
});
</script>
和这样的HTML:
<tr><td><input type="checkbox" id="checkbox_1"></input></td><td><input type="text" disabled="disabled" id="textInput_1"></input></td></tr>