我需要一些关于这些jquery选择复选框的帮助

时间:2011-09-04 18:16:25

标签: jquery input checkbox

我有这样的事情:

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

3 个答案:

答案 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>