我需要帮助从我的jquery数据表的“ media_type”列中获取值。
从第54行开始,当按下DELETE按钮时,我将3个参数传递给控制器(id1,id2,id3)。从第18行的称为“ media_type”的列中获取第三个参数(id3)的值,这就是我遇到的问题。该值将包含“图像”或“ PDF”值。当我在控制器动作(projects / deleteprojectmedia)上设置断点时,输入控制器动作时,第56行的id3值为空白或为空。
我微弱的尝试是在第48和49行:
var currentRow = $(this).closest("tr");
var col2 = currentRow.find("td:eq(1)").text();**
但是它不起作用。在第50行上,我发出了警报,以查看该值可能是什么,并指出该值未定义。
提前谢谢!
<script type='text/javascript'>
$(document).ready(function () {
var table = $("#projectmedia").DataTable({
ajax: {
url: "/projects/getprojectmedia/",
"type": "GET",
"datatype": "json",
data: {
id: "@Model.Projects.Project_Guid"
}},
"columns": [
{
data: "project_media_guid",
render: function (data) {
return "<a href='/projectmedia/view/" + data + "'>" + "View" + "</a>";
}
},
{ "data": "media_type", "autoWidth": true },
{ "data": "media_title", "autoWidth": true },
{
"data": "entered_date",
render: function (data) {
if (data != null) {
var date = new Date(parseInt(data.substr(6)));
var month = date.getMonth() + 1;
return (month.length > 1 ? month : "0" + month) + "/"
+ date.getDate() + "/" + date.getFullYear()
+ " " + (date.getHours() < 10 ? ("0" + date.getHours()) : date.getHours())
+ ":" + (date.getMinutes() < 10 ? ("0" + date.getMinutes()) : date.getMinutes());
} else {
return "";
}
}
},
{
data: "project_media_guid",
render: function (data) {
return "<button class='btn-link js-delete' data-projectmedia-guid=" + data + ">Delete</button";
}
},
]
});
$("#projectmedia").on("click", ".js-delete", function () {
var button = $(this);
bootbox.confirm("Are you sure you want to delete this media?", function (result) {
if (result) {
var currentRow = $(this).closest("tr");
var col2 = currentRow.find("td:eq(1)").text();
alert(col2);
$.ajax({
url: "/projects/deleteprojectmedia/",
data: {
id: button.attr("data-projectmedia-guid"),
id2: "@Model.Projects.Project_Guid",
id3: col2
},
method: "DELETE",
success: function () {
table.row(button.parents("tr")).remove().draw();
}
});
}
});
});
});
</script>
这是我的媒体类型列的值为=“图像”的数据表。当我单击“删除”按钮时,我试图获取“ Image”的值并将其作为参数传递。
从警报中可以看到,我尝试获取的值是空白:
答案 0 :(得分:0)
我在这里找到了答案: https://datatables.net/forums/discussion/33945/getting-value-of-selected-rows
分配给列的数据元素为media_type 单击删除按钮后,我首先获得所选的行数据。 然后,我通过引用列(rowData.media_type)并将其分配给变量mMediaType来提取该列的值。然后,我将存储在mMediaType中的值与参数id3相关联。我的控制器现在在我的控制器的操作的第三个参数中接收到“图像”或“ PDF”的值。