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