2011-09-04 30 views
0

我有这样的事情:我需要一些帮助与这些的jQuery选择复选框

<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); 
} 
} 
+1

什么的JavaScript你有这么远吗? –

+0

发布一些你试过的js,也许我们可以帮忙。 –

+0

@Jonathan Fingland刚刚添加。对不起,我无法复制/粘贴,但我的笔记本上有代码,现在我在PC上 – menislici

回答

3

试试这个

$(":checkbox").click(function(){ 
    $(this).closest("tr").find("input:text]").attr("disabled", !this.checked); 
}); 

工作demo

2

更新

$(document).ready(function() { 
    $('input:checkbox').change(function() { 
     $(this).closest('tr').find('input:text').attr('disabled', !$(this).is(':checked')); 
    }); 
}); 
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>