我有一种情况,一个长的复选框选项列表是过滤进出用PHP/AJAX查询。因此,当用户检查一个或多个复选框时,需要创建用户已检查哪些框的列表。创建和存储/添加到过滤从复选框值的数组
使用jQuery和.map(),我能创造什么复选框被选中的初始列表阵列。很简单。
var selected_checkboxes;
$(document).on('click', '.checkbox_select', function() {
var checkbox_selector = $('.checkbox_select:checked');
selected_checkboxes = checkbox_selector.map(function(i, n) {
return this.value;
}).get();
console.log(selected_checkboxes);
});
所以在这里,我们会说我有一组10个复选框(复选框1 - 10),我检查的第一个3
控制台输出["Checkbox 1", "Checkbox 2", "Checkbox 3"]
的问题当您过滤复选框的视图时会出现。说你过滤器出除复选框3,5和6以外的所有复选框。复选框3仍然被选中。现在,如果我们选中“复选框5”,我们的新列表阵列将如下所示:["Checkbox 3", "Checkbox 5"]
。
我知道它为什么会这样做,但所需的结果是建立在运行过滤器之前检查的内容之后,它应该看起来像["Checkbox 1", "Checkbox 2", "Checkbox 3", "Checkbox 5"]
。几乎就像你刚刚添加到最初的数组值。
过滤不能隐藏/显示被隐藏,因为它是所有的基于AJAX的查询时,复选框。
有没有人有任何想法,我可以得到一个数组像这样工作?任何帮助将非常感激。