如何将下拉列表的值作为参数传递给jquery datatables ajax?

时间:2018-06-14 14:20:37

标签: mvc.jquery.datatables

我在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中进行硬编码,则数据表会正确过滤,因此值正确传递,所以我只是不知道引用下拉值的适当语法...

由于

1 个答案:

答案 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"

                        }

                    },