jQuery移动级联下拉列表无法正确更新

时间:2011-06-26 20:22:29

标签: asp.net-mvc-3 jquery-mobile

我在我的MVC应用程序中使用级联下拉列表,它工作正常。

我已经添加了jQuery移动库,使其在移动设备浏览器中看起来更好,我有一些错误。

一个例子:

如果我第一次选择雪佛兰,它会让雪佛兰车型下降。 - 正如预期的那样

如果我第二次选择另一个让我仍然看到之前制作的模型,但如果我选择它,我会看到新模型。它看起来像从以前的品牌兑现模型。

这是我的代码:

 $(document).ready(function () {
        $('select#Makes').change(function () {
            getModels();
        });
    });

    function getModels() {

        var make = $('#Makes').val();
        var myselect2 = $("select#Models");
        myselect2[0].selectedIndex = 3;
        myselect2.selectmenu("refresh");
        $.ajax({
            type: "POST",
            url: "/Services/CarService.asmx/Models",
            data: "{makeId: '" + make + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (response) {


                var models = (typeof response.d) == 'string' ? eval('(' + response.d + ')') : response.d;
                $('#Models').attr('disabled', false).removeOption(/./); //.addOption('', ' -- Select Model -- ');
                var select = document.getElementById("Models");
                for (var i = 0; i < models.length; i++) {

                    var val = models[i];
                    var text = models[i];

                    $('select#Models').addOption(val, text, true);
                }

                var myselect = $("select#Models");
                myselect[0].selectedIndex = 3;
                myselect.selectmenu("refresh");
            }
        });

    }

@Html.DropDownList("Makes", "Please select make")
@Html.DropDownListFor(x => x.Models, new SelectList(Enumerable.Empty<SelectListItem>(), "value", "text"), "Select a Model", new { id = "Models" })

0 个答案:

没有答案