0
我是jquery的新手,并且试图用我返回的结果填充下拉菜单。我基本上有一个按钮,它将在一个ajax调用中打开一个局部视图,然后通过另一个ajax调用返回下拉数据。使用JQuery AJAX在部分视图中填充下拉菜单
这里是我的按钮 -
<button type="button" id="createIssueBtn" class="btn btn-lg btn-info" data-toggle="collapse" data-target="#PopUpDiv">I need to create an issue</button><br/>
<div id="PopUpDiv"></div>
这里是关于页面级
<script type="text/javascript">
$(document).ready(function() {
$('#createIssueBtn').bind("click", function() {
$.ajax({
url: '@Url.Action("OpenPopUp", "Issues")',
dataType: 'html',
success: function (html) {
$('#PopUpDiv').html(html);
}
}
)
$.ajax({
dataType: "json",
url: '@Url.Action("GetIssueTypes", "Issues")',
success: function (data) {
$.each(data.IssueTypes, function (index, item) {
$("#selectIssueType").append(
$("<option></option>")
.text(item.IssueType)
.val(item.IssueID)
)
})
}
})
})
})
</script>
的JavaScript这是部分视图 -
<div id="AddIssues"><br/>
<div >
<select id="selectIssueType">
<option value="0">Select Issue Type...</option>
</select>
</div>
<br/>
<div>Enter the details of the issue (be specific):</div>
<div><input type="text" id="IssueDetails" /></div>
<br/>
<p>Location of Issue:</p>
<div><input type="text" id="IssueLocation" /></div>
<div> <br/></div>
</div>
我想填充选择。我把数据拿回来了,但绑定是把我扔掉的东西。
谢谢!
编辑
这里是我的IssueTypes对象 -
public class IssueTypes
{
public int IssueID { get; set; }
public string IssueType { get; set; }
}
编辑
这是我GetIssueTypes功能的问题控制器 -
public ActionResult GetIssueTypes()
{
List<IssueTypes> issuesList = new List<IssueTypes>();
issuesList = issueService.GetAllIssueTypes().data.Select(w => new IssueTypes()
{
IssueID = w.IssueID,
IssueType = w.IssueType
}).ToList();
return Json(issuesList, JsonRequestBehavior.AllowGet);
}
为什么不直接使用'$( '#createIssueBtn')点击(函数(){...});' – JustinJmnz
你。没有解释什么不是在你的问题工作!但是你的代码存在多个问题,尤其是在你第一次调用Ajax调用完成之前,ajax是异步调用和第二个Ajax调用可能会被执行,这意味着你将'
@StephenMuecke我无法绑定通过Ajax调用返回的数据。 –