Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用一个复选框禁用多个字段_Javascript_Php_Html - Fatal编程技术网

Javascript 使用一个复选框禁用多个字段

Javascript 使用一个复选框禁用多个字段,javascript,php,html,Javascript,Php,Html,我有一张桌子,桌子的主体如下。第一列是一个复选框,其余的是从数据库中获取的信息。最后两列是输入框,我可以根据数量进行更改。我在默认情况下禁用了它们。但我希望在勾选复选框时启用它们,在取消勾选时禁用它们。使用下面的代码,它只启用一个id,而不是同时启用两个id。我怎样才能做到这一点? * 函数enableName(ctrl、txtId){ 如果(ctrl.选中) $('#'+txtId).removeAttr('disabled'); 其他的 $('#'+txtId).attr('disa

我有一张桌子,桌子的主体如下。第一列是一个复选框,其余的是从数据库中获取的信息。最后两列是输入框,我可以根据数量进行更改。我在默认情况下禁用了它们。但我希望在勾选复选框时启用它们,在取消勾选时禁用它们。使用下面的代码,它只启用一个id,而不是同时启用两个id。我怎样才能做到这一点?


*


函数enableName(ctrl、txtId){
如果(ctrl.选中)
$('#'+txtId).removeAttr('disabled');
其他的
$('#'+txtId).attr('disabled','disabled');
}

*

只需添加另一个要启用的对象

    <script type="text/JavaScript">
        function enableName(ctrl, txtId) {
        el1 = document.getElementsByName("n_to_lend")
        el2 = document.getElementsByName("repair")
        if (ctrl.checked){
            el1.removeAttr('disabled');
            el2.removeAttr('disabled');
            }
        else
            $('#' + txtId).attr('disabled', 'disabled');
        }
    </script>

函数enableName(ctrl、txtId){
el1=document.getElementsByName(“n_to_lend”)
el2=document.getElementsByName(“修复”)
如果(ctrl.选中){
el1.移除警报(“禁用”);
el2.移除警报(“禁用”);
}
其他的
$('#'+txtId).attr('disabled','disabled');
}

并尝试添加“已启用”而不是删除“已禁用”

您需要循环浏览这些项目。杰里米·米勒有个好计划

$("input[type='number']").removeAttr("disable"); jQuery 

这将选择所有数字输入。当然,您可以使用其他选择器,如
[input:disabled]

亲爱的,您似乎不知道类和ID选择的基本行为。当您将ID作为选择器传递时,它将只返回第一个匹配的元素,即使还有数百个元素具有相同的ID。如果以上是您的最终代码,那么我建议您使用其他可用的选择器。 例:


为什么不给他们一个该行唯一的类,然后选择该类呢?而且,不止一个元素具有相同的
id
是不好的设计。哦..哇..你是对的:)我看代码太久了,我没有注意到这一点。我将字段更改为类,并编辑javascript以启用类。所以它解决了这个问题,也解决了我有相同ID的问题。谢谢:)太糟糕了,我无法将你的答案标记为正确答案。OP的两个
输入都具有相同的id。
    <script type="text/JavaScript">
        function enableName(ctrl, txtId) {
        el1 = document.getElementsByName("n_to_lend")
        el2 = document.getElementsByName("repair")
        if (ctrl.checked){
            el1.removeAttr('disabled');
            el2.removeAttr('disabled');
            }
        else
            $('#' + txtId).attr('disabled', 'disabled');
        }
    </script>
$("input[type='number']").removeAttr("disable"); jQuery 
$('input:checkbox').click(function () {
    var chk = $(this).is(':checked'));
    $('input:number').attr('disabled', !chk);
});