测试是否使用 jQuery 选中复选框

IT技术 javascript jquery checkbox jquery-selectors
2021-01-31 22:35:22

如果复选框被选中,那么我只需要将值设为 1;否则,我需要将其设为 0。如何使用 jQuery 执行此操作?

$("#ans").val() 在这种情况下,我将永远给我一个权利:

<input type="checkbox" id="ans" value="1" />
6个回答

使用.is(':checked')以确定它是否已选中,然后设置相应的值。

更多信息在这里。

现在这可能无关紧要:ReSharper(我猜)输出警告“伪类'检查'与 Internet Explorer 8.0 不兼容”。
2021-04-01 22:35:22
此外,当您在 if 子句中执行 $("#id").is("checked") 时,您将通过返回获得真或假,而不是开/关,您可以将其发送到后端脚本做任何你想做的事。
2021-04-11 22:35:22
$("#ans").attr('checked') 

会告诉你它是否被检查。您还可以使用第二个参数 true/false 来选中/取消选中复选框。

$("#ans").attr('checked', true);

根据评论,在可用时使用prop而不是attr例如:

$("#ans").prop('checked')

只需使用 $(selector).is(':checked')

它返回一个布尔值。

// use ternary operators
$("#ans").is(':checked') ? 1 : 0;
@Loic 使用简洁的三元语法设置他的值,例如: : a = ischecked ? 1 : 0
2021-04-12 22:35:22

Stefan Brinkmann 的回答很好,但对初学者来说不完整(省略了变量赋值)。只是为了澄清:

// this structure is called a ternary operator
var cbAns = ( $("#ans").is(':checked') ) ? 1 : 0;

它是这样工作的:

 var myVar = ( if test goes here ) ? 'ans if yes' : 'ans if no' ;

例子:

var myMath = ( 1 > 2 ) ? 'yes' : 'no' ;
alert( myMath );

警报“否”

如果这有帮助,请为 Stefan Brinkmann 的回答点赞。