为什么我的禁用/启用复选框在JQuery中不起作用?

我不明白为什么这段代码不起作用。请尝试在你的口水中具体,因为它一定是非常愚蠢的东西。为什么我的禁用/启用复选框在JQuery中不起作用?

$("#cagree").on("change", function(e){  

\t \t if($("#chbx").attr("checked")){

\t \t $("#submitbtn").button("enable");

\t \t } else {

\t \t $("#submitbtn").button("disable");

\t \t }

\t \t

\t \t });

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>  

<!DOCTYPE html>

<html>

<head>

\t <title>My Page</title>

\t <meta name="viewport" content="width=device-width, initial-scale=1">

</head>

<body>

<div data-role="page">

\t <div data-role="content"> \t

\t \t <label><input type="checkbox" name="checkbox-0" id="chbx" class="cagree"> I agree </input></label>

<input type="button" value="Submit" id="submitbtn" class="submit" disabled/>

\t </div><!-- /content -->

</div><!-- /page -->

</body>

</html>

回答:

1. $("#cagree")必须$(".cagree")

2.使用.is(":checked")检查复选框被选中或不

$("#submitbtn").button("enable") 3.Instead做$("#submitbtn").prop('disabled', false);和副通用

工作片段: -

$(".cagree").on("change", function(e){ // it's class so use .  

if($(this).is(":checked")){ // use $(this) for current-object

$("#submitbtn").prop('disabled', false); // it's property so use .prop

}else{

$("#submitbtn").prop('disabled', true);

}

});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>  

<!DOCTYPE html>

<html>

<head>

<title>My Page</title>

<meta name="viewport" content="width=device-width, initial-scale=1">

</head>

<body>

<div data-role="page">

<div data-role="content"> \t

<label><input type="checkbox" name="checkbox-0" id="chbx" class="cagree"> I agree </label>

<input type="button" value="Submit" id="submitbtn" class="submit" disabled/>

</div><!-- /content -->

</div><!-- /page -->

</body>

</html>

注: -

enabledisable的属性,以便使用.prop()对其进行设置。

</input>是无效的,所以删除。

以上是 为什么我的禁用/启用复选框在JQuery中不起作用? 的全部内容, 来源链接: utcz.com/qa/266450.html

回到顶部