需求:选中checkbox时需要把该元素的name,code,value等值保存以备用,取消选择的checkbox元素需要删除保存的值
实现:
html
js
// 对JSON数组进行判重,key表示以对象中的某个字段来作为判断重复的依据,value表示重复的值
Array.prototype.indexOfJson = function (key, value) {
var k;
for (k in this) {
if (this[k][key] === value) {
return k;
}
}
return -1;
}
var arrChecked = [];// 保存选中的checkbox值
// 点击checkbox时触发
$(':checkbox').click(function () {
var $this = $(this),
index = arrChecked.indexOfJson('code', $this.val());
// 选中则添加,取消则删除
if (index === -1) {
arrChecked.push({
name: $this.attr('name'),
code: $this.val()
})
} else {
arrChecked.splice(index, 1)
}
console.log(arrChecked)
})