我在mvc视图中有一个下拉列表 - 其中所选的值将作为jquery数据表的ajax调用中的参数发送。我不确定正确的语法是什么。这是我的代码片段:
@using (Html.BeginForm())
{
<p>
@Html.DropDownList("StatusType", "Select a Value")
</p>
<p>
Find by Keyword or Phrase in Heading Or Description: @Html.TextBox("SearchString")
</p>
<p>
<input type="submit" value="Search" />
</p>
}
<script src="https://ajax.aspnetcdn.com/ajax/jquery/jquery-3.3.1.min.js"></script>
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css" />
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<script>
$(document).ready(function () {
if ($.fn.DataTable.isDataTable('#tblsr')) {
$('#tblsr').dataTable().fnDestroy();
$('#tblsr').dataTable().empty();
}
var complete = $('#tblsr').DataTable(
{
"serverSide": true,
"destroy": true,
"processing": true,
"stateSave": true,
"ajax":
{
url: "/ServiceRequests/SRList",
method: "POST",
"data": { "StatusType": StatusType}
},
方法下的行的适当语法是什么:POST?如果我在“打开”或“关闭”而不是StatusType中进行硬编码,则数据表会正确过滤,因此值正确传递,所以我只是不知道引用下拉值的适当语法...
由于
答案 0 :(得分:0)
想通了:
var complete = $('#tblsr').DataTable(
{
"serverSide": true,
"destroy": true,
"processing": true,
"stateSave": true,
"ajax":
{
url: "/ServiceRequests/SRList",
method: "POST",
"data": {
"StatusType": $("#StatusType").val()
//"StatusType": "Open"
}
},