我想知道是否有更好的方法将复选框值添加/删除到数组中。遗憾的是我不能使用 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);
}
});