我有一个选择框,从ajax填充选项。 我还有一个按钮,点击它时克隆选择框。
<select name="subcat[0]" id="subcat">
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<button name="addmore">Add More</button>
当我点击添加更多时,它将克隆subcat并递增它,因此名称是subcat [1]等...
我需要能够捕获每个选择的所有值并将它们放在一个数组中。 我的问题是,即使用户再次更改了他的选择选项,它仍然会保留最后一个值。
var elem = document.getElementById('subcat')
var points = [];
for(var i=0,len=elem.length;i<len;i++){
if (elem[i].selected){
points.push(elem[i].value);
}
}
如果用户刚刚更改了相同的选项,如何删除所选的最后一个选项?
答案 0 :(得分:0)
你可以存储最后选择的并且可以将它从数组中拼接出来,如果我没记错的话你可以拼接如果这样(假设x
有最后一个值):
if(x==elem[i].selected){
elem[i].splice(i,1); //cuts one index in the array where x occurs
]
答案 1 :(得分:0)
var elem = document.getElementById('subcat')
var points = [];
for(var i=0,len=elem.length;i<len;i++){
if (elem[i].selected){
if(points[points.length-1] == elem[i].value){
points.pop();
}
points.push(elem[i].value);
}
}