选择选项删除功能

时间:2011-05-26 12:20:06

标签: javascript drop-down-menu

以下函数应该从选择框中删除选定的值, 并使用所有值更新隐藏字段。

我有两个问题: 假设我在选择框中有以下选项: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(',');

}

1 个答案:

答案 0 :(得分:1)

假设您不需要隐藏值中的选定值,请将该部分放入其他部分的tmpArray中

    if (selectbox.options[i].selected){
                selectbox.remove(i);
    }else{
            tmpArray.push(selectbox.options[i].value);
    }