Javascript 如果选中一个或多个复选框,则切换启用/禁用输入按钮
我有一小段代码要用作jQuery对话框的条件。非常简单的情况,若选中复选框,则启用按钮,若不选中,则禁用它。下面的代码可以很好地禁用按钮,但在选中任何复选框时不会启用它 我尝试了多种变体,但在我的代码中无法实现这一点(有几种变体在Fiddle中可以很好地实现)。非常感谢你的帮助 JS片段Javascript 如果选中一个或多个复选框,则切换启用/禁用输入按钮,javascript,jquery,Javascript,Jquery,我有一小段代码要用作jQuery对话框的条件。非常简单的情况,若选中复选框,则启用按钮,若不选中,则禁用它。下面的代码可以很好地禁用按钮,但在选中任何复选框时不会启用它 我尝试了多种变体,但在我的代码中无法实现这一点(有几种变体在Fiddle中可以很好地实现)。非常感谢你的帮助 JS片段 if (button.text() == "Apply") { if ($("selectLocation").is(':checked')) button.enabled(true);
if (button.text() == "Apply") {
if ($("selectLocation").is(':checked'))
button.enabled(true); // checked
else
button.enabled(false); // unchecked
}
HTML
<input type="checkbox" name="selectLocation" />
试着这样做:
$("input[name=selectLocation]")
它不起作用,因为如果按钮是jquery元素,则选择带有标记的元素
selectLocation
而不是带有名称的元素selectLocation
:
button.attr("disabled", "disabled"); //to disable it
button.removeAttr("disabled"); //to reenable it
在您的代码中,它应该是:
if (button.text() == "Apply") {
if ($("selectLocation").is(':checked'))
button.removeAttr("disabled"); //to reenable it
else
button.attr("disabled", "disabled");
}
选择器
$(“输入[name=selectLocation]”)应该可以工作如果不确定jQuery是否要这样选择名称,请添加一个ID并更改选择器
if (button.text() == "Apply") {
if ($("#selectLocation").is(':checked'))
button.removeAttr("disabled");
else
button.attr("disabled", "disabled");
}
<input id="selectLocation" type="checkbox" name="selectLocation" />
if(button.text()=“应用”){
如果($(“#selectLocation”)。是(“:选中”))
按钮。移除按钮(“禁用”);
其他的
按钮。属性(“禁用”、“禁用”);
}
您必须使用Jquery的.prop()来解决这个问题
if (button.text() == "Apply"){
if ($("selectLocation").is(':checked')){
button.prop('disabled', false);
}
else{
button.prop('disabled', true);
}
}
我一直无法让.attr()在这种情况下工作非常感谢您提供了一个很好的解决方案!