Javascript 按钮未显示在我的jquery数据表上
我正在尝试将查看、更新和删除按钮添加到jquery服务器端数据表中。如下图所示,仅显示删除按钮 JavascriptJavascript 按钮未显示在我的jquery数据表上,javascript,jquery,datatable,Javascript,Jquery,Datatable,我正在尝试将查看、更新和删除按钮添加到jquery服务器端数据表中。如下图所示,仅显示删除按钮 Javascript <script> var enabletemplateListVM; $(function () { enabletemplateListVM = { dt: null, init: function () { dt = $('#templatemessage-d
<script>
var enabletemplateListVM;
$(function () {
enabletemplateListVM = {
dt: null,
init: function () {
dt = $('#templatemessage-data-table').DataTable({
"dom": '<"top"if>rt<"bottom"lp><"clear">',
"pageLength": 10,
"serverSide": true,
"processing": true,
"order": [[0, "desc"]],
"ajax": {
"url": "/MessageTemplate/LoadData",
"type": "POST",
"datatype": "json"
},
var enabletemplateListVM;
$(函数(){
enabletemplateListVM={
dt:null,
init:函数(){
dt=$('#templatemessage数据表')。数据表({
“dom”:“rt”,
“页面长度”:10,
“服务器端”:正确,
“处理”:对,
“订单”:[[0,“说明”]],
“ajax”:{
“url”:“/MessageTemplate/LoadData”,
“类型”:“职位”,
“数据类型”:“json”
},
我希望下面的按钮显示在同一列中
"columns": [
{
"targets": [0], "data": "TemplateId", "render": function (data, type, full)
{
return '@Html.ActionLink("View", "View", new {id = "TemplateId" })'.replace("TemplateId", data);
},
"targets": [0], "data": "TemplateId", "render": function (data, type, full)
{
return '@Html.ActionLink("Update", "Update", new {id = "TemplateId" })'.replace("TemplateId", data);
},
"targets": [0], "data": "TemplateId", "render": function (data, type, full)
{
return '@Html.ActionLink("Delete", "Delete", new {id = "TemplateId" })'.replace("TemplateId", data);
}
},
{ "title": "Template Id", "data": "TemplateId", "name": "TemplateId", "autoWidth": true },
{ "title": "Team Name", "data": "TeamName", "name": "TeamName", "autoWidth": true },
{ "title": "Template Name", "data": "TemplateName", "name": "TemplateName", "autoWidth": true },
{ "title": "Description", "data": "Description", "name": "Description", "autoWidth": true },
],
"lengthMenu": [[100, 50, 80], [100, 50, 80]],
});
}
}
// initialize the datatables
enabletemplateListVM.init();
});
</script
“列”:[
{
“目标”:[0],“数据”:“模板ID”,“呈现”:函数(数据,类型,完整)
{
返回'@Html.ActionLink(“视图”,“视图”,新的{id=“TemplateId”}')。替换(“TemplateId”,数据);
},
“目标”:[0],“数据”:“模板ID”,“呈现”:函数(数据,类型,完整)
{
返回'@Html.ActionLink(“Update”,“Update”,new{id=“TemplateId”}')。替换(“TemplateId”,data);
},
“目标”:[0],“数据”:“模板ID”,“呈现”:函数(数据,类型,完整)
{
返回'@Html.ActionLink(“Delete”,“Delete”,new{id=“TemplateId”}')。替换(“TemplateId”,data);
}
},
{“title”:“Template Id”,“data”:“TemplateId”,“name”:“TemplateId”,“autoWidth”:true},
{“标题”:“团队名称”,“数据”:“团队名称”,“名称”:“团队名称”,“自动宽度”:true},
{“标题”:“模板名称”,“数据”:“模板名称”,“名称”:“模板名称”,“自动宽度”:true},
{“title”:“Description”,“data”:“Description”,“name”:“Description”,“autoWidth”:true},
],
“长度菜单”:[[100,50,80],[100,50,80],
});
}
}
//初始化数据表
enabletemplateListVM.init();
});
您可以将所有按钮一起返回,因为它们都用于同一列,
您的代码是“将按钮替换为新按钮”,最后只显示最后一个按钮
"columns": [
{
"targets": [0],
"data": "TemplateId",
"render": function (data, type, full)
{
var a = '@Html.ActionLink("View", "View", new {id = "TemplateId" })'.replace("TemplateId", data);
var b = '@Html.ActionLink("Update", "Update", new {id = "TemplateId" })'.replace("TemplateId", data);
var c = '@Html.ActionLink("Delete", "Delete", new {id = "TemplateId" })'.replace("TemplateId", data);
return a+b+c;
},
},
{ "title": "Template Id", "data": "TemplateId", "name": "TemplateId", "autoWidth": true },
{ "title": "Team Name", "data": "TeamName", "name": "TeamName", "autoWidth": true },
{ "title": "Template Name", "data": "TemplateName", "name": "TemplateName", "autoWidth": true },
{ "title": "Description", "data": "Description", "name": "Description", "autoWidth": true },
],
问题出在第1列定义中
{
"targets": [0], "data": "TemplateId", "render": function (data, type, full)
{
return '@Html.ActionLink("View", "View", new {id = "TemplateId" })'.replace("TemplateId", data);
},
"targets": [0], "data": "TemplateId", "render": function (data, type, full)
{
return '@Html.ActionLink("Update", "Update", new {id = "TemplateId" })'.replace("TemplateId", data);
},
"targets": [0], "data": "TemplateId", "render": function (data, type, full)
{
return '@Html.ActionLink("Delete", "Delete", new {id = "TemplateId" })'.replace("TemplateId", data);
}
},
它总是选择最后一个
要解决此问题,只需像这样使用1渲染函数
"targets": [0], "data": "TemplateId", "render": function (data, type, full)
{
// define view button
var view = '@Html.ActionLink("View", "View", new {id = "TemplateId" })'.replace("TemplateId", data);
// define update button
var update = '@Html.ActionLink("Update", "Update", new {id = "TemplateId" })'.replace("TemplateId", data);
// define delete Button
var delete = '@Html.ActionLink("Delete", "Delete", new {id = "TemplateId" })'.replace("TemplateId", data);
return view+update+delete; // return all three button
},
这是因为在每次返回按钮后,它都会将其替换,如第一个返回视图、第二个返回替换视图和第三个删除更新感谢Sunny的帮助