经过多方资料实践,得到最优的方案,并根据不同需求归纳,其中用到jQuery的prop方法,is方法等.
一 全选的判断
使用jquery,应使用prop方法来获取和设置checked属性
1.prop( ) 定义和用法
prop() 方法设置或返回被选元素的属性和值。
当该方法用于返回属性值时,则返回第一个匹配元素的值。
当该方法用于设置属性值时,则为匹配元素集合设置一个或多个属性/值对。
注意:prop() 方法应该用于检索属性值,例如 DOM 属性(如 selectedIndex, tagName, nodeName, nodeType, ownerDocument, defaultChecked, 和 defaultSelected)。
提示:如需检索 HTML 属性,请使用 attr() 方法代替。
提示:如需移除属性,请使用 removeProp() 方法。
2.语法
返回属性的值:
$(
selector).prop(
property)
设置属性和值:
$(
selector).prop(
property,value)
使用函数设置属性和值:
$(
selector).prop(
property,function(
index,
currentvalue))
设置多个属性和值:
$(
selector).prop({
property:
value,
property:
value,...})
3.实例
<input type="checkbox" id="selectAll" οnclick="checkAll()">全选
function checkAll()
{
var checkedOfAll=$("#selectAll").prop("checked");
alert(checkedOfAll);
$("input[name='procheck']").prop("checked", checkedOfAll);
}
说明:
prop()只匹配第一个input,所以一般不能判断多选,适合用在多选判断(前提:全选框设置在最前面)
二 单选或复选判断,选用is()
1.定义和使用
is() 方法用于查看选择的元素是否匹配选择器。
2.语法
$(
selector).is(
selectorElement,function
(index,
element))
参数 | 描述 |
---|---|
selectorElement | 必须。选择器表达式,根据选择器/元素/jQuery 对象检查匹配元素集合,如果存在至少一个匹配元素,则返回 true,否则返回 false |
function(index,element) | 可选。指定了选择元素组要执行的函数。
|
3.实例
//判断多选框是否有选中
$.extend({'sel':function(){
var rel = $("input[type='checkbox']").is(":checked");
if(rel){
return confirm('确认?');
}else{
alert('请勾选内容!');
return false;
}
}})
说明:
if($('#checkbox_id').is(':checked')) { //注意冒号:checked
// something
}
此时id为checkbox_id的input选项框只要有选中就返回true
附函数sel()调用说明: $.sel()