我想知道是否有更好的方法来向数组中添加/删除复选框值。遗憾的是我无法使用ECMAScript 5 indexOf()
,因为我需要支持IE8 / 7。
这是一个有效的jsfiddle示例:http://jsfiddle.net/puyQr/
此方法的作用是:
/**
* If a user clicks onto the checkbox, the value of the value attribute is
* only added to the array when the value not yet exists. However, if
* the value already exists, the value is removed.
*/
var values = [];
jQuery(':checkbox').on('click', function(){
var index = jQuery.inArray(this.value, values);
if(index === -1) {
values.push(this.value);
} else {
values.splice(index, 1);
}
});
答案 0 :(得分:2)
从复选框获取值的另一种方法是:
var values = jQuery(':checkbox:checked').map(function(){
return $(this).val();
}).get();
答案 1 :(得分:2)