方法:获取多选下拉框对象数组→循环判断option选项的selected属性(true为选中,false为未选中)→使用value属性取出选中项的值。实例演示如下:
1、HTML结构
<select id="test" multiple="true"><option value="option-A">option-A</option>
<option value="option-B">option-B</option>
<option value="option-C">option-C</option>
<option value="option-D">option-D</option>
</select>
<input type="button" value="确定" onclick="fun()" />
2、javascript代码
function fun(){var select = document.getElementById("test")
var str = []
for(i=0i<select.lengthi++){
if(select.options[i].selected){
str.push(select[i].value)
}
}
alert(str)
}
3、效果演示
Hi,你的操作就是当已经选择过的情况下你需要删除掉数组的相应值。我帮你改写了一下,数组值需要存储选框的下标就可以了的。
<script language="javascript">
var sel = []
function OnClick() {
var i_ts_desc = document.getElementById("i_ts_desc")
var index = i_ts_desc.selectedIndex
var iHas = -1
sel.sort()
for (var i = 0i <sel.lengthi++) {
if (sel[i] == index) {
iHas = i
} else {
i_ts_desc[sel[i]].selected = true
}
}
if (iHas == -1) {
sel.push(index)
i_ts_desc[index].selected = true
} else {
sel.splice(iHas, 1)
i_ts_desc[index].selected = false
}
}
</script>
<select id="i_ts_desc" multiple="multiple" onclick="OnClick()" >
<option value="A">0</option>
<option value="B">1</option>
<option value="C">2</option>
<option value="D">3</option>
<option value="E">4</option>
<option value="F">5</option>
</select>