jquery 如何获取 checkbox的 选中个数

jquery 如何获取 checkbox的 选中个数,第1张

获取 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的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9554188.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存