使用JavaScript/JQuery从上次选中的复选框中获取值
我有一套复选框,允许多次检查。我想得到最后一个选择的值。例如,考虑具有值1, 2, 3、4的4个复选框。如果我选择4,2,1,我需要选择的值[4,2,1],而不是得到[1,2,4] 这是我的html代码片段使用JavaScript/JQuery从上次选中的复选框中获取值,javascript,jquery,html,checkbox,jquery-events,Javascript,Jquery,Html,Checkbox,Jquery Events,我有一套复选框,允许多次检查。我想得到最后一个选择的值。例如,考虑具有值1, 2, 3、4的4个复选框。如果我选择4,2,1,我需要选择的值[4,2,1],而不是得到[1,2,4] 这是我的html代码片段 <li><input type="checkbox" class="checkGroup" value="1"></li> <li><input type="checkbox" class="checkGroup" value="2"&g
<li><input type="checkbox" class="checkGroup" value="1"></li>
<li><input type="checkbox" class="checkGroup" value="2"></li>
<li><input type="checkbox" class="checkGroup" value="3"></li>
<li><input type="checkbox" class="checkGroup" value="4"></li>
请帮助我解决此问题。一种方法是在更新状态时存储数组值,如
var arr=[];
$('.checkGroup').change(函数(){
如果(选中此项){
arr.unshift(此值)
}否则{
arr.拼接(arr.indexOf(该值),1);
}
});
$(“按钮”)。单击(函数(){
snippet.log(arr.join(','))
});代码>
打印
一种方法是在更新状态时存储数组值,如
var arr=[];
$('.checkGroup').change(函数(){
如果(选中此项){
arr.unshift(此值)
}否则{
arr.拼接(arr.indexOf(该值),1);
}
});
$(“按钮”)。单击(函数(){
snippet.log(arr.join(','))
});代码>
打印
一种方法是在更新状态时存储数组值,如
var arr=[];
$('.checkGroup').change(函数(){
如果(选中此项){
arr.unshift(此值)
}否则{
arr.拼接(arr.indexOf(该值),1);
}
});
$(“按钮”)。单击(函数(){
snippet.log(arr.join(','))
});代码>
打印
一种方法是在更新状态时存储数组值,如
var arr=[];
$('.checkGroup').change(函数(){
如果(选中此项){
arr.unshift(此值)
}否则{
arr.拼接(arr.indexOf(该值),1);
}
});
$(“按钮”)。单击(函数(){
snippet.log(arr.join(','))
});代码>
打印
尝试以下操作:
var selectedArr=[];
var dataElem=$(“#data”);
$('.checkGroup')。在('change',function()上{
如果(选中此项){
选择Arr.push(此值);
}否则{
selectedArr.splice(selectedArr.indexOf(this.value))1;
}
html(JSON.stringify(selectedArr));
});代码>
试试这个:
var selectedArr=[];
var dataElem=$(“#data”);
$('.checkGroup')。在('change',function()上{
如果(选中此项){
选择Arr.push(此值);
}否则{
selectedArr.splice(selectedArr.indexOf(this.value))1;
}
html(JSON.stringify(selectedArr));
});代码>
试试这个:
var selectedArr=[];
var dataElem=$(“#data”);
$('.checkGroup')。在('change',function()上{
如果(选中此项){
选择Arr.push(此值);
}否则{
selectedArr.splice(selectedArr.indexOf(this.value))1;
}
html(JSON.stringify(selectedArr));
});代码>
试试这个:
var selectedArr=[];
var dataElem=$(“#data”);
$('.checkGroup')。在('change',function()上{
如果(选中此项){
选择Arr.push(此值);
}否则{
selectedArr.splice(selectedArr.indexOf(this.value))1;
}
html(JSON.stringify(selectedArr));
});代码>
如果你在arr
中得到1,2,4
,你可以使用arr.reverse()
@Manwal,它可以按顺序选择,或者2,4,1
它仍然会得到1,2,4
。不是这样的。如果我选择[4,1,2]
我将得到[1,2,4]
。如果我使用reverse()
我会得到[4,2,1]
。但是我需要[4,1,2]
。如果你在arr
中得到1,2,4
,你可以使用arr.reverse()
@Manwal,它可以按顺序选择,或者2,4,1
它仍然会得到1,2,4
。不,不是这样的。如果我选择[4,1,2]
我将得到[1,2,4]
。如果我使用reverse()
我会得到[4,2,1]
。但是我需要[4,1,2]
。如果你在arr
中得到1,2,4
,你可以使用arr.reverse()
@Manwal,它可以按顺序选择,或者2,4,1
它仍然会得到1,2,4
。不,不是这样的。如果我选择[4,1,2]
我将得到[1,2,4]
。如果我使用reverse()
我会得到[4,2,1]
。但是我需要[4,1,2]
。如果你在arr
中得到1,2,4
,你可以使用arr.reverse()
@Manwal,它可以按顺序选择,或者2,4,1
它仍然会得到1,2,4
。不,不是这样的。如果我选择[4,1,2]
我将得到[1,2,4]
。如果我使用reverse()
我会得到[4,2,1]
。但是我需要[4,1,2]
。你能给出不起作用的箱子吗。。。以及预期的result@ArunPJohny,push
而不是unshift
?您能否给出不起作用的案例。。。以及预期的result@ArunPJohny,push
而不是unshift
?您能否给出不起作用的案例。。。以及预期的result@ArunPJohny,push
而不是unshift
?您能否给出不起作用的案例。。。以及预期的result@ArunPJohny,推送
而不是取消移动
?
var arr = $.map($('.checkGroup:checked'), function(e, i) {
value = e.value;
return value;
});