使用jQuery mobile empty函数时,下拉列表选中的值不会刷新

时间:2014-10-14 03:29:33

标签: jquery jquery-mobile

我的页面中有以下级联选择下拉列表。

Country -> City

在我的桌面上,如果我之前选择了" USA"和"纽约"然后我把国家变成了法国。城市下拉列表将显示"选择一个城市"这就是我想要的。

这些是我用来填充城市列表并设置默认值的代码。

$("#country").on("change", function(event) {
    getCities($("#country").val(), $("#city").val());
});

function getCities(country) {
    $.ajax({
        url: window.location.pathname.substring(0, window.location.pathname.indexOf("index.cfm")) + "index.php/search/getCities?format=json"
        , dataType: "json"
        , data: {country:country}
        , success: function(data, status) {
            populateCities(data);
        }
    });
}

function populateCities(data) {
    if (data.length > 0) {
        $("#city").empty();

        $("#city").prepend($('<option></option>').attr("value", "").attr("selected", "selected").text("- Choose a city -"));
        $.each(data, function () {
            $("#city").append($('<option></option>').attr("value", this.CITY).text(this.CITY));
        });
    }
}

但是在移动设备上,城市下降仍然表示&#34;纽约&#34;。

有没有人对如何解决这个问题有任何想法?

非常感谢

修改

也尝试了这些更改(如下所示)。仍然没有按预期工作

function populateAgencies(data) {
    if (data.length > 0) {
        $("#agency").empty();

        $("#agency").prepend('<option value="" selected>- Choose a city -</option>');
        $.each(data, function () {
            $("#agency").append('<option value="'+this.CITY+'">'+this.CITY+'</option>');
        });("#city").enhanceWithin();
    }
}

0 个答案:

没有答案