获取 checkbox的 选中个数可以直接使用如下jquery语法$("input[type='checkbox']:checked")length;
示例如下:
创建Html代码及css样式
<div><input type="checkbox" name="fruit"> apple
<input type="checkbox" name="fruit"> orange
<input type="checkbox" name="fruit"> banana
<input type="checkbox" name="fruit"> watermelon<br>
<input type="button" value="I like these fruit!">
</div>div{width:500px;padding:20px;border:4px solid #ebcbbe;}
input{margin:10px 5px;}
jquery代码
$(function(){$("input[type='button']")click(function() {
alert($("input[type='checkbox']:checked")length);
});
})
效果
1、首先根据传入的id获取对应的checkbox
var box = $('#' + id);
2、判断box是否被选中,主要通过判断其checked属性值
if(boxattr('checked') == 'checked'){
alert('选中');
}else{
alert('未选中');
}
var
str;
$('chkselect')each(function(){
if
($(this)attr("checked"))
{
str+=$(this)val()+",";
}
});
str=strsubstring(0,strlength-1);
alert(str);
这样你就能得到用","拼接而成的选中的值了:例如你选中了"桔子,苹果,香蕉"
我不明白你说的影响全选反选是什么意思?就是说全选反选的checkbox不包含其中是吗?
很简单,不要和你Repeater中的checkbox的class属性设置成一样就行,就是说那个checkbox的
class不要设置成"chkselect"就可以了
参考代码如下:
获取所有name为spCodeId的checkbox
var spCodesTemp = "";$('input:checkbox[name=spCodeId]:checked')each(function(i){
if(0==i){
spCodesTemp = $(this)val();
}else{
spCodesTemp += (","+$(this)val());
}
});
$("#txt_spCodes")val(spCodesTemp);
通过jquery过滤器:checked方式获取所有选中的checkbox
1、定义页面checkbox框
<body>
<input type='checkbox'/>
<input type='checkbox'/>
<input type='checkbox'/>
</body>
2、通过jquery过滤器选择选中的checkbox
var chks=$("input:checked");//获取所有选中的checkbox,chks是一个元素数组
3、通过chks的长度知道多少被选中
var len = chkslength;//选中的checkbox数量
1、checkbox日常jquery *** 作。
现在我们以下面的html为例进行checkbox的 *** 作。
<input id="checkAll" type="checkbox" />全选
<input name="subBox" type="checkbox" />项1
<input name="subBox" type="checkbox" />项2
<input name="subBox" type="checkbox" />项3
<input name="subBox" type="checkbox" />项4
全选和全部选代码:
<script type="text/javascript">
$(function() {
$("#checkAll")click(function() {
$('input[name="subBox"]')attr("checked",thischecked);
});
var $subBox = $("input[name='subBox']");
$subBoxclick(function(){
$("#checkAll")attr("checked",$subBoxlength == $("input[name='subBox']:checked")length true : false);
});
});
</script>
checkbox属性:
var val = $("#checkAll")val();// 获取指定id的复选框的值
var isSelected = $("#checkAll")attr("checked"); // 判断id=checkAll的那个复选框是否处于选中状态,选中则isSelected=true;否则isSelected=false;
$("#checkAll")attr("checked", true);// or
$("#checkAll")attr("checked", 'checked');// 将id=checkbox_id3的那个复选框选中,即打勾
$("#checkAll")attr("checked", false);// or
$("#checkAll")attr("checked", '');// 将id=checkbox_id3的那个复选框不选中,即不打勾
$("input[name=subBox][value=3]")attr("checked", 'checked');// 将name=subBox, value=3 的那个复选框选中,即打勾
$("input[name=subBox][value=3]")attr("checked", '');// 将name=subBox, value=3 的那个复选框不选中,即不打勾
$("input[type=checkbox][name=subBox]")get(2)checked = true;// 设置index = 2,即第三项为选中状态
$("input[type=checkbox]:checked")each(function(){ //由于复选框一般选中的是多个,所以可以循环输出选中的值
alert($(this)val());
});
2、radio的jquery日常 *** 作及属性
我们仍然以下面的html为例:
<input type="radio" name="radio" id="radio1" value="1" />1
<input type="radio" name="radio" id="radio2" value="2" />2
<input type="radio" name="radio" id="radio3" value="3" />3
<input type="radio" name="radio" id="radio4" value="4" />4
radio *** 作如下:
$("input[name=radio]:eq(0)")attr("checked",'checked'); //这样就是第一个选中咯。
//jquery中,radio的选中与否和checkbox是一样的。
$("#radio1")attr("checked","checked");
$("#radio1")removeAttr("checked");
$("input[type='radio'][name='radio']:checked")length == 0 "没有任何单选框被选中" : "已经有选中";
$('input[type="radio"][name="radio"]:checked')val(); // 获取一组radio被选中项的值
$("input[type='radio'][name='radio'][value='2']")attr("checked", "checked");// 设置value = 2的一项为选中
$("#radio2")attr("checked", "checked"); // 设置id=radio2的一项为选中
$("input[type='radio'][name='radio']")get(1)checked = true; // 设置index = 1,即第二项为当前选中
var isChecked = $("#radio2")attr("checked");// id=radio2的一项处于选中状态则isChecked = true, 否则isChecked = false;
var isChecked = $("input[type='radio'][name='radio'][value='2']")attr("checked");// value=2的一项处于选中状态则isChecked = true, 否则isChecked = false;
3、select下拉框的日常jquery *** 作
select *** 作相比checkbox和radio要相对麻烦一些,我们仍然以下面的html为例来说明:
<select name="select" id="select_id" style="width: 100px;">
<option value="1">11</option>
<option value="2">22</option>
<option value="3">33</option>
<option value="4">44</option>
<option value="5">55</option>
<option value="6">66</option>
</select>
看select的如下属性:
$("#select_id")change(function(){ // 1为Select添加事件,当选择其中一项时触发
//code
});
var checkValue = $("#select_id")val(); // 2获取Select选中项的Value
var checkText = $("#select_id :selected")text(); // 3获取Select选中项的Text
var checkIndex = $("#select_id")attr("selectedIndex"); // 4获取Select选中项的索引值,或者:$("#select_id")get(0)selectedIndex;
var maxIndex =$("#select_id :last")get(0)index; // 5获取Select最大的索引值
/
jQuery设置Select的选中项
/
$("#select_id")get(0)selectedIndex = 1; // 1设置Select索引值为1的项选中
$("#select_id")val(4); // 2设置Select的Value值为4的项选中
/
jQuery添加/删除Select的Option项
/
$("#select_id")append("<option value='新增'>新增option</option>"); // 1为Select追加一个Option(下拉项)
$("#select_id")prepend("<option value='请选择'>请选择</option>"); // 2为Select插入一个Option(第一个位置)
$("#select_id")get(0)remove(1); // 3删除Select中索引值为1的Option(第二个)
$("#select_id :last")remove(); // 4删除Select中索引值最大Option(最后一个)
$("#select_id [value='3']")remove(); // 5删除Select中Value='3'的Option
$("#select_id")empty();
$("#select_id")find("option:selected")text(); // 获取select 选中的 text :
$("#select_id")val(); // 获取select选中的 value:
$("#select_id")get(0)selectedIndex; // 获取select选中的索引:
//设置select 选中的value:
$("#select_id")attr("value","Normal");
$("#select_id")val("Normal");
$("#select_id")get(0)value = value;
//设置select 选中的text,通常可以在select回填中使用
var numId=33 //设置text==33的选中!
var count=$("#select_id option")length;
for(var i=0;i<count;i++)
{ if($("#select_id")get(0)options[i]text == numId)
{
$("#select_id")get(0)options[i]selected = true;
break;
}
}
通过上面的总结,应该对jquery的checkbox,radio和select有了一定的了解了吧,温故而知新,用多了就会变的熟练起来,即使有时候忘记了,也可以来翻一翻!
当都选其中某几项时,如果需要给服务端ajax传递对应项的id值,该如何做呢?
思路应该是这样的:
①获取被勾选项(即checked的checkbox所在行)
②将id存在checkbox所在input的自定义属性中,如 data-id 中
③创建空数组,遍历被选中的checkbox所在行,获取对应的 data-id 值,存入数组中
④将存入的数组转化为字符串,并用逗号隔开(join(','))
思路:利用name属性值获取checkbox对象,然后循环判断checked属性(true表示被选中,false表示未选中)。下面进行实例演示:
1、HTML结构
<input type="checkbox" name="test" value="1"/><span>1</span>
<input type="checkbox" name="test" value="2"/><span>2</span>
<input type="checkbox" name="test" value="3"/><span>3</span>
<input type="checkbox" name="test" value="4"/><span>4</span>
<input type="checkbox" name="test" value="5"/><span>5</span><br>
<input type='button' value='提交' onclick="fun()"/>
2、javascript代码
function fun(){
obj = documentgetElementsByName("test");
check_val = [];
for(k in obj){
if(obj[k]checked)
check_valpush(obj[k]value);
}
alert(check_val);
}
以上就是关于jquery 如何获取 checkbox的 选中个数全部的内容,包括:jquery 如何获取 checkbox的 选中个数、jquery根据传入的id判断该checkbox是否被选中,最好是代码、怎样用jquery获取Repeater中选中的checkbox的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)