0

我正在尝试用来自 AJAX 的数据填充组合框(输入)。这是为了获取选定州的每个城市,该州在另一个选择控件(州控件)上被选中。

我试过的:

I'm using the "change" event on the state comboBox, when a state is selected i search for it cities and populate the city control.

            $("#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);
            }
        });
    }

}

4

1 回答 1

0

jQuery:

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

javascript:

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

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

看这里

于 2013-03-21T05:26:52.733 回答