首页 > 解决方案 > 如何在 jquery datatables ajax 中将下拉列表的值作为参数传递?

问题描述

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

谢谢

标签: mvc.jquery.datatables

解决方案


弄清楚了 :

 var complete = $('#tblsr').DataTable(
            {

                "serverSide": true,
                "destroy": true,
                "processing": true,
                "stateSave": true,
                "ajax":
                    {
                        url: "/ServiceRequests/SRList",
                        method: "POST",
                        "data":  {
                            "StatusType": $("#StatusType").val()
                           //"StatusType": "Open"

                        }

                    },

推荐阅读