我有以下代碼將複選框值推送到數組。我希望能夠從數組中刪除值,如果複選框未選中。任何人都可以告訴我如何做到這一點。複選框值數組添加和從數組中刪除
var arr_sort = new Array();
$(".sort").change(function(){
$.each($("input[name='sort']:checked"), function() {
arr_sort.push($(this).val());
});
});
我有以下代碼將複選框值推送到數組。我希望能夠從數組中刪除值,如果複選框未選中。任何人都可以告訴我如何做到這一點。複選框值數組添加和從數組中刪除
var arr_sort = new Array();
$(".sort").change(function(){
$.each($("input[name='sort']:checked"), function() {
arr_sort.push($(this).val());
});
});
答:http://jsfiddle.net/morrison/S3e2f/
注:
- 忽略了答案,如果觸發事件是不是複選框的Click事件。
你應該創建一個小的功能,將來自於複選框的Click事件觸發數組中刪除的值。
function removeVal(arr, val)
{
for(var i = 0; i < arr.length; i++)
{
if (arr[i] == val)
arr.splice(i, 1);
}
}
找到下面的工作示例:
您可以使用map或grep刪除數組中不符合條件的元素。像這樣:
var arr_check = $.grep(arr_sort,function(value){return value == ?? ;}); // since you're saving $(this).val() your array has checkbox value, so you have to filter with those values.
我明白你的意思了。我現在使用了你的解決方案,也許你可以回答這個問題。 http://stackoverflow.com/questions/7314060/multidimensional-array-of-multi-checkbox-group-values-jquery-post-array-ajax它是不好的形式來改變答案? – madphp
不需要更改答案。 –