如何使用checkox启用/禁用数组中每行的文本框

时间:2016-11-20 05:08:07

标签: javascript php jquery arrays

如何在选中复选框时禁用文本框,并在复选框在数组中的每行上没有检查时启用它。

这是我的代码。

<tr>
<td colspan="1" width=""><?php echo $item_name;?></td> 
<td colspan=""  width="15%" ><input type="checkbox" name="check_approved[]" value="Checked"></td>
<td colspan=""  width="10%" ><input type="text" class="form-control" name="remarks[]" required></td>
</tr>

2 个答案:

答案 0 :(得分:1)

id 属性赋予它们,然后根据选中的未选中条件隐藏显示文本框。

请尝试以下代码:

这是你的HTML:

render

这是你的js代码:

<td colspan=""  width="15%" ><input type="checkbox" class=".txtcheck" name="check_approved[]" value="Checked"></td>

<td colspan=""  width="10%" ><input type="text" class="form-control"  id="txtbox" name="remarks[]" required></td>

答案 1 :(得分:1)

您可以轻松地遍历父母以找到孩子,而无需更改您在表单html中已有的内容。

JSFiddle: https://jsfiddle.net/9cgntpzf/

$(document).ready(function(){
    // This will listen for changes on the checkbox
    $("input[name=check_approved\\[\\]]").on('change',function(){
        // This will then traverse upwards to the "tr", then find from the children
        // the corresponding "remarks" input
        var remarks =   $(this).parents('tr').find('input[name=remarks\\[\\]]');
        // This enables or disables the text box
        remarks.attr('disabled',$(this).is(':checked'));
});

一个注意事项,我假设您的示例是表中的众多示例之一,这就是为什么我给出了解决问题的一般方法。如果您的网页上只有一个实例,则使用唯一的id会更直接。