使用javascript更改选择选项

Dyl*_*uth 5 javascript ajax jquery html-select onchange

在你-1之前这是一个如此简单的问题,请进一步阅读,因为我花了一段时间搜索并且无法弄明白.我所拥有的是5个选择框.每个结果取决于之前选择的内容.没有提交按钮.我只需要根据前一个框中选择的内容进行更改,到目前为止我已经有了.哦,结果是从数据库中提取的.问题是,当您在框中选择一个选项时,框2显示选项框,但当您再次选择框1中的选项时,它们的选项只会叠加在其他选项上.当它再次改变时我需要它们清除.我会发布我拥有的js,如果你需要其他任何东西,请问.

ps我正在使用php-mysql获取选项.pss这个网站必须在明天完成,所以我有点匆忙.请不要浪费时间告诉我这是一个愚蠢的问题或什么不是.

在此先感谢您的帮助.

$(function () { //When the page is finished loading run this code
    $('#country').change(function () {
        $.ajax({
            url: "<!--Base url taken out-->/discovery/aLoad",
            success: function (data) {
                eval(data);
            },
            error: function () {
                alert('failed');
            },
            data: {
                country: getSelectValues('#country')
            },
            type: 'POST'
        });
    });
 });

     function changeSearchBar (newBar) {
    //remove the crap
    function ClearOptions(country)
    {
    document.getElementById('country').options.length = 0;
    }

    for (var i = 0; i <= newBar.length; i++) {
        newBar[i].id = newBar[i][0];
        newBar[i].name = newBar[i][1];
        $('#group').append(
            $('<option></option>').attr('value', newBar[i].id).text(newBar[i].name)
        );
    }
     }

     function getSelectValues (sId) {
    var str = "";

    $(sId +" option:selected").each(function () {
        str += $(this).val() + ",";
    });

    return str.replace(/.$/g, '');
}
Run Code Online (Sandbox Code Playgroud)

Rui*_*iro 1

根据我从您的长篇文章中了解到的,您只需要select在开始从 AJAX 请求附加新选项之前删除所有子项。

\n\n

在循环之前尝试这样的事情for

\n\n
$(\'#group\').html(\'\');\xe2\x80\x8b\n
Run Code Online (Sandbox Code Playgroud)\n\n

演示: http: //jsfiddle.net/57TYu/2/

\n