我在我的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" })