我的Javascript代码有问题,我有select
并且我在数组中添加所选选项的值(例如Volvo)但是当用户更改所选选项时(例如Lamborghini) 。我想删除数组中最后选择的选项,并在其中添加最新选项。
我该怎么做?
有关信息,我有多个选择选项,我调用函数changeClass()
感谢您的帮助
我的HTML代码
<select class="form-control" id="car" onchange="changeClass(this)">
<option value="1">Volvo</option>
<option value="2">VW</option>
<option value="3">Lamborghini</option>
</select>
我的Javascript代码
<script>
var data = [];
function changeClass(select) {
data.push(select.value);
}
</script>
答案 0 :(得分:0)
您可以通过将数组重新定义为空数组来清空数组:
function changeClass(select) {
data = [];
data.push(select.value);
}
答案 1 :(得分:0)
在常用的select函数中使用它,它会将所有选中的值都放到一个数组中
var data;
$("select").change(function () {
data = $("select").map(function () {
return this.value;
}).get();
console.log(data)
});
<强> DEMO 强>
答案 2 :(得分:0)
只需使用splice将最后一个元素替换为新元素:
var arr = ["aaa", "bbb", "ccc"];
arr.splice(arr.length - 1, 1, "ddd");
console.log(arr);
日志:
["aaa", "bbb", "ddd"]
答案 3 :(得分:0)
如果在新项目之前添加了该项目,那么您可以执行以下操作:
<script>
var data = [];
function changeClass(select) {
data.pop();
data.push(select.value);
}
</script>
如果您希望删除之前未添加的项目,则必须使用事件onfocus
,抓取之前选择的值并在onchange
事件触发时将其删除。