我正在使用級聯下拉列表。當我選擇使用webservice將make後綴makeId發送到服務器並返回模型。然後我添加模型到下拉列表ASP.NET MVC3級聯DropDownList無法正常工作
問題是。如果我使用Firebug工具在firefox中檢查模型下拉列表,我可以看到剛剛添加的模型,但是當我點擊它時會打開空白。
我正在使用jQuery Mobile和jQuery Selectbox。
這裏是我的代碼:
$(document).ready(function() {
$('#Makes').change(function() {
getModels();
});
});
function getModels() {
var make = $('#Makes').val();
$.ajax({
type: "POST",
url: "/Services/CarService.asmx/Models",
data: "{makeId: '" + make + "'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
alert(response.d);
var models = (typeof response.d) == 'string' ? eval('(' + response.d + ')') : response.d;
$('#Models').attr('disabled', false).removeOption(/./);
for (var i = 0; i < models.length; i++) {
var val = models[i];
var text = models[i];
$('#Models').addOption(val, text, false);
alert(models[i]);
}
}
});
}
@Html.DropDownList("Makes", "Please select make")
<select id="Models"></select>
[WebMethod]
public List<string> Models(int makeId)
{
var dataContext = new SearchModel();
var models = from m in dataContext.GetAllModels()
where m.Id == makeId
select m.Model;
return models.ToList();
}
我試過了,但它並沒有固定的問題 –
OK嘗試另一種方法來添加選項,而不是''addOption'.ex $(「#模式」)追加('<。選項值=「'+ val +'」>'+ text +'');'但是我不確定這會不會造成差異,但我們試試 –
這是一樣的。我發現這個問題是因爲我參考了jQuery mobile。所以級聯下拉列表工作,但沒有參考jQuery手機 –