Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.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_Jquery - Fatal编程技术网

Javascript 如果选中一个或多个复选框,则切换启用/禁用输入按钮

Javascript 如果选中一个或多个复选框,则切换启用/禁用输入按钮,javascript,jquery,Javascript,Jquery,我有一小段代码要用作jQuery对话框的条件。非常简单的情况,若选中复选框,则启用按钮,若不选中,则禁用它。下面的代码可以很好地禁用按钮,但在选中任何复选框时不会启用它 我尝试了多种变体,但在我的代码中无法实现这一点(有几种变体在Fiddle中可以很好地实现)。非常感谢你的帮助 JS片段 if (button.text() == "Apply") { if ($("selectLocation").is(':checked')) button.enabled(true);

我有一小段代码要用作jQuery对话框的条件。非常简单的情况,若选中复选框,则启用按钮,若不选中,则禁用它。下面的代码可以很好地禁用按钮,但在选中任何复选框时不会启用它

我尝试了多种变体,但在我的代码中无法实现这一点(有几种变体在Fiddle中可以很好地实现)。非常感谢你的帮助

JS片段

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()在这种情况下工作

非常感谢您提供了一个很好的解决方案!