前端开发学习之——使用jquery/javascript判断及改变checkbox选中状态

时间:2023-03-09 18:40:59
前端开发学习之——使用jquery/javascript判断及改变checkbox选中状态

一、使用jquery判断及改变checkbox选中状态

1.使用JQuery判断一个checkbox 是否为选中:

(1).attr('checked)

看JQuery版本1.6+返回:”checked”或”undefined” ;1.5-返回:true或false

(2).prop('checked')

1.6+:true/false

(3).is(':checked')

eg:$("input[type='checkbox']").is(':checked');选中为true,未选中为false;

所有版本:true/false

2.改变选中状态

(1)使用attr方法进行checkbox状态的改变。

选中:$("input[type='checkbox']").attr("checked",true);

取消选中:$("input[type='checkbox']").attr("checked",false);

(2)但是有时使用attr操作,虽然属性值改变了,但是页面上的checkbox并没有选中。在这种情况下,建议使用prop方法来操作改变checkbox选中状态。

选中:  

$("input[type='checkbox']").prop("checked",true);

$("input[type='checkbox']").prop({checked:true}); //map键值对

$("input[type='checkbox']").prop("checked",function(){return true;});//函数返回true或false

$("input[type='checkbox']").prop("checked","checked");

取消选中:

$("input[type='checkbox']").prop("checked",false);

3.获取value值

使用Jquery获取checkbox的值,在没有给value值的情况下,获取的值为"on"。

使用Jquery获取checkbox的值,给value值的情况下,获取的值是value值。

4.举例:实现反选

$(":checkbox").each(function(){
  if($(this).prop("checked")){
    $(this).prop("checked",false);
  }else{
    $(this).prop("checked",true);
  }
});

其中:
全选: $(":checkbox").prop("checked",true)
取消全选:$(":checkbox").prop("checked",false)
获取选中的:$(":checkbox:checked")

二、使用javascript判断及改变checkbox选中状态

判断:

document.getElementById("someCheckbox").checked  //值为true或false

改变

document.getElementById("someCheckbox").checked = true;

document.getElementById("someCheckbox").checked = false;