我想根据多个选择框选择填充内容。 我可以获得选择框的所有选定值。 使用
$('select').change(function(){
console.info($(this).val()) // it gives me array
});
但我只想要最近的选择/取消选择用户。
答案 0 :(得分:1)
你可以这样做:
function arr_diff(a1, a2) {
var a = [],
diff = [];
for (var i = 0; i < a1.length; i++)
a[a1[i]] = true;
for (var i = 0; i < a2.length; i++)
if (a[a2[i]]) delete a[a2[i]];
else a[a2[i]] = true;
for (var k in a)
diff.push(k);
return diff;
}
var oldSelect = [];
$('select').change(function() {
var changes = arr_diff(oldSelect, $(this).val());
console.info(changes); // it gives me array
oldSelect = $(this).val();
});
更改仅包含选定/取消选择的元素
在这里摆弄http://jsfiddle.net/j5rBS/
P.S。您应该接受一些答案,因为您的录取率非常低
答案 1 :(得分:0)
或简单只需在选择时获取数组的第一个索引。
$(function(){
$('select').change(function(){
var opt=$(this).val();
$("span").text(opt[0]);
});
})
答案 2 :(得分:0)
试试这个
// this will set the last selected or deselected option element's value to the select element as a custom attribute "recent"
$("#selectEl option").click(function(event) {
$(this).parent().attr("recent", $(this).val());
});
$("#selectEl").attr("recent"); // returns the last selected/deselected option value or undefined if attribute recent is not present