jq多选按钮值_jQuery实现获取选中复选框的值实例详解

本文介绍了如何使用jQuery获取选中复选框的值,通过选择器获取复选框对象,遍历并利用prop函数判断是否选中,将选中项的值存入数组。示例代码包括全选、全不选、反选和获取选中值的功能。

应用场景:

我们应该经常见到系统中出现列表,会有一个对列表数据的操作(如删除, 修改,查看等)。我们可以在每个列表项后面加一个删除按钮,把列表项的相关参数(如 id)post到后台进行删除。当然如果你每次只要删除一两条数据这样子做并没有什么问题,但是如果你需要一次性删 除100条,你还去一条 条的删除吗?每一次删除10条会不会更好些呢?

好了,接下来。我们就使用jQuery解决这个问题。

首先,假设我们需要删除5个列表项。HTML里面列表标签是ul和ol, 其中ul是无序的,而ol是有序。每一个列表项使用li。

  • 苹果
  • 梨子
  • 芒果
  • 山楂
  • 香蕉

假设我们只需传递水果的ID到后台就可以删除所有水果。那么传递一个数组为[0001,0002,0003,0004,0005]到后台就可以了。所以,我们需要获取5个li元素中input标签的value值。

很明显,你的思路可能是利用jQuery筛选器先得到li下的input对象数组,再遍历这个数组,判断每一个input对象,然后判断input对象是否选中,选中就用val()函数获取它的值,然后把该值放入一个用来存储id的数组arr中。

【关键点】选择器,遍历,数组。

1.获取被选中的数组对象

jQuery的选择器中' :checkbox' 是查找所有复选框。

$("#fruit :checkbox");

2.遍历这个对象数组

jQeury的each函数:为每个匹配元素规定运行的函数。

each函数:

语法:

$(selector).each(function(index,element))

参数

描述

function(index,element)

必需。为每个匹配元素规定运行的函数。index - 选择器的 index 位置element - 当前的元素(也可使用 “this” 选择器)

遍历后,判断复选框是否被选中.

Jquery的prop函数(prop函数是jQuery1.6版本上的):

prop(name|properties|key,value|fn)

获取在匹配的元素集中的第一个元素的属性值。随着一些内置属性的DOM元素 或window对象,如果试图将删除该属性,浏览器可能会产生错误。jQuery第一次分配undefined值的属性,而忽略了浏览器生成的任何错误

参数

类型

版本

name(属性名称)

String

V1.6

properties(作为属性的“名/值对“对象)

Map(String, Object)

V1.6

key,function(index, attr) (属性名称,属性值)

String, Function

V1.6

[注意]key,function(index,attr)中返回的属性值的函数,第一个参数为当前

元素的索引值,第二个参数为原先的属性值。

示例:

1.参数name的描述:

选中复选框的为true, 没选中为false

选中:

$("input[type='checkbox']").prop("checked",true);

没选中:

$("input[type='checkbox']").prop("checked",false);

2.参数perporties描述:

禁用页面上的所有复选框。

$("input[type='checkbox']").prop({disabled:true});

3.参数key,回调函数描述:

通过函数来设置所有页面上的复选框反选。

$("input[type='checkbox']").prop("checked",fucntion(i, val){

return !val;

});

3.数组

这个最简单。jQuery定义一个数组。

var arr = new Array();

所以最后的代码:

Jquery复选框练习

选择要购买的水果

  • 苹果
  • 雪梨
  • 芒果
  • 菠萝

全选

全不选

反选

购买

$("#All").click(function(){

if("this.checked"){

$("#fruit :checkbox").prop("checked", true);

}else{

$("#fruit :checkbox").prop("checked", false);

}

});

$("#checkAll").click(function(){

$("#fruit :checkbox").prop("checked", true);

});

$("#nothing").click(function(){

$("#fruit :checkbox").prop("checked", false);

});

$("#reverseAll").click(function(){

$("#fruit :checkbox").each(function(i){

$(this).prop("checked", !$(this).prop("checked"));

});

});

$(".chooseFruit").click(function(){

var arr = new Array();

$("#fruit :checkbox[checked]").each(function(i){

arr[i] = $(this).val();

});

var vals = arr.join(",");

console.log(vals);

});

至此,jQuery实现了复选框的取值,是不是非常简单?

总结

以上所述是小编给大家介绍的jQuery实现获取选中复选框的值,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值