【发布时间】:2018-08-01 09:41:03
【问题描述】:
我想在单击Open 时动态更新下拉列表值。当用户单击第一行时,其各自的数据应显示在下拉列表中,第二行的显示方式相同。实际上,我想使用 Json 更新下拉列表中的值尽管加载了整个部分。
public PartialViewResult _ModalPopup( string Id)
{
EmpViewModel model=new EmpViewModel();
Id=Id??"1";
var Listdata = context.Employees.Where(x => x.id == Id).Select(y => y.Category).Distinct().ToList();
model.CategoriesList = new SelectList(Listdata);
return PartialView("_MEmpModal", model);
}
查看
<table>
<tr>
<td>
@Html.DisplayName("IT")
</td>
<td>
<a class="LinkId" data-toggle="modal" data-url="/Home/_ModalPopup?Id=1">Open</a>
</td>
</tr>
<tr>
<td>
@Html.DisplayName("Sales")
</td>
<td>
<a class="LinkId" data-toggle="modal" data-url="/Home/_ModalPopup?Id=2">Open</a>
</td>
</tr>
</table>
@{Html.RenderAction("__MEmpModal"); }
局部视图
<div class="modal fade" id="DisplayModal" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<div class="form-group">
@Html.DropDownListFor(m => m.Category, Model.CategoriesList, new { @class = "form-control" })
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary pull-right">Save</button>
</div>
</div>
</div>
</div>
脚本
$(document).on("click", '.LinkId', function (e) {
$.ajax({
url: $(this).data("url"),
type: "GET",
}).done(function (partialViewResult) {
$("#DisplayModal").replacewith(partialViewResult);
$('#DisplayModal').focus();
});
});
【问题讨论】:
标签: jquery asp.net-mvc