以下函数应该从选择框中删除选定的值, 并使用所有值更新隐藏字段。
我有两个问题:
假设我在选择框中有以下选项:1071,1000,1052
删除第一个选项(1071)后,隐藏字段的值为1052,1000,1000
,
如果我删除第二个选项(1000)
,隐藏字段为1052,1052,1071
如果我删除第三个(1052)
,我会得到options[...].value is null or not an object
有人可以帮我解决这个问题吗?
function removeOptions() {
var selectbox = document.getElementById('zipcodes');
var zipcodes = document.getElementById('zip');
var tmpArray = [];
var i;
for (i = selectbox.options.length - 1; i >= 0; i--) {
if (selectbox.options[i].selected){
selectbox.remove(i);
}
tmpArray.push(selectbox.options[i].value);
}
zipcodes.value = tmpArray.join(',');
}
答案 0 :(得分:1)
假设您不需要隐藏值中的选定值,请将该部分放入其他部分的tmpArray中
if (selectbox.options[i].selected){
selectbox.remove(i);
}else{
tmpArray.push(selectbox.options[i].value);
}