美好的一天,
我正在使用ajax填充下拉列表。数据来自我的mvc控制器
[HttpGet]
public ActionResult GetResult()
{
var result = _IInterface.GetList();
//result is a list that have name, lastname and Id
if (result == null) return null;
var jsons= Json(result, JsonRequestBehavior.AllowGet);
return jsons;
}
在我的前端,我的ajax调用是从我的动作结果中获取数据而没有任何问题。 这是我观点的一部分
@using (Ajax.BeginForm("CreatePaper", new AjaxOptions()
{
OnSuccess= "ajaxSuccess"
}))
{
<select id=" countryDropDownList">
<option value="Select">Select</option>
</select>
ajax电话
$(document).ready(function () {
$.ajax({
type: "GET",
url: "/Author/GetAuthors",
success: function (data) {
var options = '';
var mySelect = $('#countryDropDownList');
for (var i = 0; i < data.length; i++) {
options += '<option value="' + data[i].Name + " " + data[i].LastName + '">' + "test" + '</option>';
}
console.log(options);
$("#countryDropDownList").appendTo(options);
},
failure: function () {
alert("sdfgsdgsdfd");
}
});
});
当我检查console.log(选项)时,我得到了这个:
<option value="asdfasd sagasdg">test</option><option value="Select">Select</option>
我的问题是我的代码没有附加选项。有什么问题?谢谢
我已经在不同的地方寻找过:
AJAX Call For Dropdown Lists In MVC
答案 0 :(得分:0)
首先,您的id
列表的<select>
属性中有一个前导空格。当您复制代码时,这可能是一个错字,但如果代码中的代码是这样 - 那将会有问题,因为$("#myId")
将无法选择<elem id=" myId"></elem>
其次,您应该使用.append()
而不是.appendTo()
- 对两个in this article
如果找不到,您还应该从MVC控制器返回[]
而不是null
。否则,您会说var i = 0; i < data.length;...
将评估为null.length
,这将导致类型错误