复选框checkbox如何判定为被选中

近期,我在开发网站的考试系统时,遇到了一个关于复选框checkbox如何判定为被选中的问题。网上的说法很多,但是没有说到重点上的,而这篇文章解释的很详细,于是,我把它记录下来。原始博客地址:http://www.cnblogs.com/circulatttt/p/5193262.html


要想判定复选框选中状态可以使用:

$("#test1").prop("checked")和$("#test1").is(":checked")

1、checkbox中的checked属性

1.1 如果对于input标签,不设置其checked属性的话,默认是该复选框不被选中;

<input type="checkbox" name="test" id="test"/>  //未被选中

1.2 而如果设置了checked属性的话,本人在js中测试的时候;

1)将checked属性设置为checked=true或者checked=”true”或者checked=”false”时,系统都会认为是该复选框被选中了。

<input type="checkbox" name="test" id="test1"/ checked=true>  //选中
<input type="checkbox" name="test" id="test2"/ checked="true">  //选中
<input type="checkbox" name="test" id="test3"/ checked="false">  //选中
<input type="checkbox" name="test" id="test4"/ checked >  //选中

2)在测试的时候,将checked属性设置为checked=false时,系统还是认为该复选框是未被选中的;

<input type="checkbox" name="test" id="test5"/ checked=false>  //未被选中

★★★但是,当我们将checked属性设置为checked=false时,虽然在显示的时候,该复选框呈现的时候是未被选中,但是,如果我们使用如下代码的时候:

$("#test").prop("checked")以及$("#test").is(":checked")

得到的值还是true(选中)。

2、使用 (.val())取值 —–不能用来判断复选框选中状态

<input type="checkbox" name="test" id="test"/> //未被选中
<input type="checkbox" name="test" id="test1"/ checked=true>  //选中

我们使用console.log()将checked的取值打印出来,得到的结果如下:

无论是选中状态还是未被选中的状态,其取出的值都为on,所以要判定checkbox的选中状态,不能使用.val()取值

console.log($("#test").val())  //打印出on
console.log($("#test1").val())  //打印出on

3、使用(.attr())取属性值 —–不能用来判断复选框选中状态

<input type="checkbox" name="test" id="test"/> //未被选中
<input type="checkbox" name="test" id="test1"/ checked>  //选中

我们使用console.log()将checked的取值打印出来,得到的结果如下:

     无论是选中状态还是未被选中的状态,其取出的值都为undefine,所以要判定checkbox的选中状态,不能使用.attr()取值
console.log($("#test").attr())  //打印出undefine
console.log($("#test1").attr())  //打印出undefine

4、使用(.prop())获取当前状态 ——可以用来判断复选框选中状态

<input type="checkbox" name="test" id="test"/> //未被选中
<input type="checkbox" name="test" id="test1"/ checked>  //选中

我们使用console.log()将checked的取值打印出来,得到的结果如下:

选中的状态就得到true,未被选中的状态就得到false,所以要判定checkbox的选中状态,可以使用.prop()取值

onsole.log($("#test").prop("checked"))  //打印出false
console.log($("#test1").prop("checked"))  //打印出true

5、使用(.is())—-可用来判断复选框选中状态

<input type="checkbox" name="test" id="test"/> //未被选中
<input type="checkbox" name="test" id="test1"/ checked>  //选中

使用$(“input[type=’checkbox’]”).is(‘:checked’)语句,通过使用console.log()将checked的取值打印出来,得到的结果如下:

选中的状态就得到true,未被选中的状态就得到false,所以要判定checkbox的选中状态,可以使用.is()取值

console.log($("#test").is(":checked"))  //打印出false
console.log($("#test1").is(":checked"))  //打印出true

喜欢的可以点个赞,有什么问题可以在底下向我提问,谢谢大家支持!

  • 20
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在 C# 中,刷新页面后保持 CheckBox 复选框选中状态,可以通过在页面加载时将 CheckBox 的 Checked 属性设置为 true 来实现。具体实现方式如下: ```csharp private void Form1_Load(object sender, EventArgs e) { // 在页面加载时将 CheckBox 的 Checked 属性设置为 true checkBox1.Checked = true; } ``` 将上述代码添加到页面的 Load 事件处理方法中,即可在页面加载时自动将 CheckBox 复选框设置为选中状态。这种方法比较简单,适用于 CheckBox 复选框在页面加载时需要一直保持选中状态的情况。 如果 CheckBox 复选框需要在用户操作后才能确定是否选中,或者需要在不同的操作之间切换选中状态,可以在页面刷新后读取用户之前的选择,然后将 CheckBox 的 Checked 属性设置为相应的值。具体实现方式可以参考以下代码: ```csharp private void Form1_Load(object sender, EventArgs e) { // 读取用户之前的选择,如果选中则将 CheckBox 的 Checked 属性设置为 true,否则为 false bool isChecked = ReadUserSelection(); checkBox1.Checked = isChecked; } private bool ReadUserSelection() { // 读取用户之前的选择,返回 true 或 false // 实现方式根据具体业务逻辑而定 // 示例代码中返回 true,表示用户之前选择了 CheckBox return true; } ``` 在上述代码中,ReadUserSelection 方法用于读取用户之前的选择,返回 true 或 false。在页面加载时,将该方法返回的值赋给 CheckBox 的 Checked 属性,即可在页面刷新后保持用户之前的选择状态。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值