如果使用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.通过prop方法获取checked属性,获取的checked返回值为boolean,选中为true,否则为flase
var aaa = $("#check").prop("checked");
if(aaa){
alert("选中");
};
2.直接调用checked属性,不过如果获取的结果是一个checkbox,则要加上.checked前加上.get(0)或者[0]才行,多个checkbox则不用。因为你用$选择出来的结果其实是个数组的形式,就算一个也是数组,你得用[]来取第几个的值。
var aaa = $("#check").get(0).checked;
if(aaa){
alert("选中");
};
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 );
}
}
设置选中radio
$('#infType1').prop("checked","checked");
//或者
$("input[type=radio][name=infType][value=1]").prop("checked",'checked');
说明:
如果使用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);
}
});
});
})
来源:CSDN
作者:New Learning
链接:https://blog.csdn.net/cheeso/article/details/79125675