使数据表每行使用ajax HTTP GET而不是标准<a href=""> link

时间:2016-02-15 04:17:16

标签: jquery datatables datatables-1.10

I am using datatables jquery插件以及asp.net

我有以下代码来呈现链接

        "columns": [
        {
            "data": "Id", "render": function (data) {
                return '<a class="btn btn-default btn-sm btn-color-primary" href="@(Url.Action(Model.ActionUrl))?id=' + data + '"><i class="glyphicon glyphicon-@(Model.ActionIcon)"></i></a>';
            }
        },
            { "data": "Id" },
            { "data": "FirstName" },
            { "data": "Surname" },
            { "data": "Company" }
        ],

在数据表中

@Actionurl是带有行ID

的/ Controller / Method的URL

@ActionIcon可以是EditDetail

当您单击编辑图标但是它呈现整个新页面时,此代码有效。 我想做一个ajax调用,所以我可以从我的服务器返回一个模态对话框。

问题: 如何更改上述数据表代码,而不是对服务器进行ajax调用,而不是当前它只是刷新页面的标准<a href链接。

1 个答案:

答案 0 :(得分:2)

我没有看到真正的问题。只需用触发ajax调用// Pass appropriate SQL to the database $lname = htmlspecialchars($_POST["lname"]); $fname = htmlspecialchars($_POST["fname"]); $empid = htmlspecialchars($_POST["empid"]); echo "<h3>Search results.</h3>"; $sqlL = "SELECT * FROM employees WHERE LAST_NAME = \"" . $lname . "\""; $sqlF = "SELECT * FROM employees WHERE FIRST_NAME \"" . $fname . "\""; $sqlID = "SELECT * FROM employees WHERE EMPLOYEE_ID \"" . $empid . "\""; $resultL = $conn->query($sqlL); $resultF = $conn->query($sqlF); $resultID = $conn->query($sqlID); if ($resultF->num_rows > 0) { // Output data of each row printf("\n\t<table><th>Name</th> <th>Employee ID</th> "); while ($row = $resultF->fetch_assoc()) { printf("\n\t<tr><td>%s%s</td> <td>%s</td></tr>", $row["LAST_NAME"], $row["FIRST_NAME"], $row["EMPLOYEE_ID"]); } echo "</table>\n"; echo "<h5><strong>($resultF->num_rows) results returned.</strong></h5><br>"; } else { echo "0 results "; } 的{​​{1}}元素替换锚标记?

<span>

...

onclick