我想将选中的复选框存储在一个数组中,但是我希望它们按照选中的顺序排序。
例如,我有三个复选框 -
<label for="check-1">check 1</label>
<input type="checkbox" id="check-1" value="1" name="mycheck[]">
<label for="check-2">check 2</label>
<input type="checkbox" id="check-2" value="2" name="mycheck[]">
<label for="check-3">check 3</label>
<input type="checkbox" id="check-3" value="3" name="mycheck[]">
我选择了检查2,然后是检查3和检查1。
我希望结果以这样的数组形式呈现 ('2','3','1')
我使用了这个函数,但它没有按顺序获取它们。
var list = new Array();
$('input[name="mycheck"]:checked').each(function() {
list.push([$(this).val()]);
});
console.log(list);
console.log
之前简单地加上一个list.sort((a, b) => a-b)
。 - Andy$('input[name="mycheck"]:checked')
按照 HTML 中存在的顺序获取元素。您可以更新某种data-order
值,该值是它们被点击的顺序,然后在.each
之前进行排序。 - Peter Krebs