Неверно обновляются раскрывающиеся списки каскадных мобильных устройств jQuery. - PullRequest
1 голос
/ 27 июня 2011

Я использую каскадные выпадающие списки в своем приложении MVC, и он отлично работает.

Я добавил мобильную библиотеку jQuery, чтобы она лучше выглядела в браузере мобильных устройств, и у меня возникла ошибка.

Пример:

если я выберу первый раз Chevrolet, он заполняет детскую выпадающую модель Chevrolet. - как и ожидалось

Если я выберу второй раз другой производитель, я все равно вижу модели предыдущего производителя, но если я выберу его, я вижу новую модель. Похоже, это обналичивание моделей из предыдущих марок.

Вот мой код:

 $(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" })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...