Javascript - 使用新数据填充组合框

时间:2013-03-21 05:21:08

标签: javascript ajax select input combobox

我正在尝试使用来自AJAX的数据填充组合框(输入)。这是为了使每个城市都处于选定状态,这是在另一个选择控件(状态控件)上选择的。

我尝试了什么:

我在状态comboBox上使用“更改”事件,当选择状态时,我搜索城市并填充城市控件。

            $("#state").on("change", function () {

            getCities($(this), $("#city"));
        });

这实际上是有效的,但我真正的问题是:当我将这些数据带到控件时,我必须点击它来重新填充它(以前的状态数据仍然存在),我希望它会在我完成时完成完成状态选择输入上的状态选择。与此相关的另一个问题是,每当状态选择输入改变它的城市时,选择第一个选项(--- SELECT CITY ---)。这是功能代码:

function getCities(stateControl, cityControl) {

    if (stateControl.val()) {
        var options = '<option value="0" selected="selected">--- CHOOSE CITY --- </option>';
        cityControl.html(options);
        var dataString = "state="+stateControl.val();
        $.ajax({
            type: "POST",
            url: "cities.php",
            data: dataString,
            dataType: "json",
            success: function (resposta) { 

                    for(var i=0; i < resposta.length; i++){    
                        options += '<option value="' + city[i].cod_cidade + '">' + cities[i].nome + '</option>';                                                      
                    };
                    controleCidades.html(options);
            }
        });
    }

}

1 个答案:

答案 0 :(得分:0)

jQuery的:

   $("#city").find('option').remove();

的javascript:

document.getElementById('city').options.length = 0;

在添加之前使用它,然后它将删除所有以前的选项。

see here