我是新的Asp.net mvc。我正在尝试根据大量值列表选择下拉列表。单击下拉列表时,会出现一个带有jquery DataTable的模态。我试图实现当单击DataTable中的一行时,模式被关闭,并且行中的两个值(数据:“Name”和data:“Company”)被传递回父窗口,因此我可以填充下拉列表。任何帮助都将受到赞赏。
下拉:
@Html.DropDownListFor(model => model.Company,
Enumerable.Empty<SelectListItem>(),
new {@id="drop" })
模态:
<div id='myModal' class='modal'>
<div class="modal-dialog">
<div class="modal-content">
<div id='myModalContent'></div>
</div>
</div>
</div>
js提出模态:
<script>
var TeamDetailPostBackURL = '/Home/Details';
$(function () {
$("#drop").click(function () {
debugger;
$("#drop").blur();
var $buttonClicked = $(this);
var id = $buttonClicked.attr('data-id');
var options = { "backdrop": "static", keyboard: true };
$.ajax({
type: "GET",
url: TeamDetailPostBackURL,
contentType: "application/json; charset=utf-8",
data: { "Id": id },
datatype: "json",
success: function (data) {
debugger;
$('#myModalContent').html(data);
$('#myModal').modal(options);
$('#myModal').modal('show');
},
error: function () {
alert("Dynamic content load failed.");
}
});
});
});
</script>
局部视图(当点击的#t1中的一行我想填充下拉列表“Drop”)时:
@model MvcApplication1.Models.About
@{
ViewBag.Title = "Abouts";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">FriendsInfo</h4>
</div>
<div>
<table id="exampless" class="display" width="100%">
<thead>
<tr>
<th>Name</th>
<th>Company</th>
</tr>
</thead>
</table>
</div>
@section Scripts{
<script src="~/Scripts/jquery.dataTables.min.js"></script>
<script src="~/Scripts/bootstrap.js"></script>
<script src="~/Scripts/bootstrap.min.js"></script>
@Scripts.Render("~/Content/themes/base/css")
<script>
$(document).ready(function () {
$('#exampless').DataTable({
"ajax": {
"url": "/home/loaddata",
"type": "GET",
"datatype": "json"
},
"columns": [
{ "data": "Name", "autoWidth": true },
{ "data": "Company", "autoWidth": true }
]
});
});
</script>
}
更新:我能够使用此javascript从DataTable获取值:
<script>
$('#exampless').on('click', 'tr', function () {
var ddValue = $('td', this).eq(0).text();
var ddText = $('td', this).eq(1).text();
$("#closeMod").click()
});
</script>
我只需要帮助将部分视图中的var ddValue和var ddText返回到父视图。
答案 0 :(得分:0)
你应该能够分配它,因为Modal不是一个单独的窗口,一旦你加载它就会成为View的一部分。
像
这样的东西$("#drop").val(ddValue);