单个和多个checkbox选中事件

如果使用jquery,应使用prop方法来获取和设置checked属性,不应使用attr,需要的朋友可以参考下

html:

<input type="checkbox" name="check" id="check"  checked="checked" value="Daily" />
<input type="checkbox" name="check"   checked="checked" value="Daily" />
  • 1
  • 2

1.通过prop方法获取checked属性,获取的checked返回值为boolean,选中为true,否则为flase

var aaa = $("#check").prop("checked");
if(aaa){
    alert("选中");
 };
  • 1
  • 2
  • 3
  • 4

2.直接调用checked属性,不过如果获取的结果是一个checkbox,则要加上.checked前加上.get(0)或者[0]才行,多个checkbox则不用。因为你用$选择出来的结果其实是个数组的形式,就算一个也是数组,你得用[]来取第几个的值。

var aaa = $("#check").get(0).checked;
if(aaa){
 alert("选中");
 };
  • 1
  • 2
  • 3
  • 4

3、获取多个checkbox的值

var groupCheckbox=$("input[name='check']");
    for(i=0;i<groupCheckbox.length;i++){
        if(groupCheckbox[i].checked){
            var val =groupCheckbox[i].value;
            alert(val );
        }
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

设置选中radio

$('#infType1').prop("checked","checked");
//或者
$("input[type=radio][name=infType][value=1]").prop("checked",'checked');
  • 1
  • 2
  • 3

说明: 
如果使用attr方法获取时: 
1、如果当前input中初始化未定义checked属性,则不管当前是否中,$(“#check”).attr(“checked”)都会返回undefined;

2、如果当前input中初始化已定义checked属性,则不管是否选中,$(“#selectAll”).attr(“checked”)都会返回checked.


多个checkbox的点击事件

$(function(){
    var s = $("input[name='check']");
    s.each(function(i) {
//          alert(i);
            $(this).click(function(){
                if(this.checked==true){
                      alert(this.value);
                }
             });
        }); 
})

猜你喜欢

转载自blog.csdn.net/cheeso/article/details/79125675