gpt4 book ai didi

javascript - 查找已选中复选框的顺序

转载 作者:搜寻专家 更新时间:2023-10-31 22:19:05 25 4
gpt4 key购买 nike

我正在尝试获取已选中复选框的顺序。

<ul class="dropdown-content checkboxes">
<li><label><input type="checkbox" />Billy</label></li>
<li><label><input type="checkbox" />Jacob</label></li>
<li><label><input type="checkbox" />Bob</label></li>
<li><label><input type="checkbox" />Alexandren</label></li>
<li><label><input type="checkbox" />Erren</label></li>
<li><label><input type="checkbox" />Stewgart</label></li>
<li><label><input type="checkbox" />Jillian</label></li>
<li><label><input type="checkbox" />Other</label></li>
</ul>

我想到了这个,但我无法获得选中复选框的时间顺序。我只能获得仅选中哪些列表。

$(":checkbox").click(function() {
console.log($(":checked").length);
var i = 0;
checked = true;
$(':checkbox').each(function() {
if (this.checked == false) {
i++;
if (i === 8) {
checked = false;
}
}
});
});

我如何获取检查顺序的数据?例如“复选框 1、6、3、2 按此顺序选中”

最佳答案

您将跟踪选中了哪些复选框,例如在数组中

var order = [];

$("[type=checkbox]").on('change', function() { // always use change event
var idx = order.indexOf(this);

if (idx !== -1) { // if already in array
order.splice(idx, 1); // make sure we remove it
}

if (this.checked) { // if checked
order.push(this); // add to end of array
}

// <------------------------------------For demonstration
$('#result').html(JSON.stringify($.map(order, function(elem) {
return $(elem).closest('label').text().trim();
})));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul class="dropdown-content checkboxes">
<li><label><input type="checkbox" />Billy</label></li>
<li><label><input type="checkbox" />Jacob</label></li>
<li><label><input type="checkbox" />Bob</label></li>
<li><label><input type="checkbox" />Alexandren</label></li>
<li><label><input type="checkbox" />Erren</label></li>
<li><label><input type="checkbox" />Stewgart</label></li>
<li><label><input type="checkbox" />Jillian</label></li>
<li><label><input type="checkbox" />Other</label></li>
</ul>
<div id="result"></div>


要获取每个复选框的索引,或者更准确地说是父 LI,您可以直接映射它们

var map = $.map(order, function(elem) {
return $(elem).closest('li').index();
});

FIDDLE

关于javascript - 查找已选中复选框的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36229021/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com