Javascript 在“数据表编辑”按钮上打开一个弹出窗体,单击
我正试图在Javascript 在“数据表编辑”按钮上打开一个弹出窗体,单击,javascript,jquery,asp.net-mvc,datatables,Javascript,Jquery,Asp.net Mvc,Datatables,我正试图在DataTable的Edit按钮上打开一个弹出表单。我在ASP.NETMVC项目中这样做 <table id="tbl_class" class="table table-striped table-bordered dt-responsive nowrap" style="width:100%;" cellspacing="0"> <thead> <tr> <th>Id</th>
DataTable
的Edit
按钮上打开一个弹出表单。我在ASP.NETMVC项目中这样做
<table id="tbl_class" class="table table-striped table-bordered dt-responsive nowrap" style="width:100%;" cellspacing="0">
<thead>
<tr>
<th>Id</th>
<th>ClassName</th>
<th>Student</th>
<th>Edit</th>
<th>Delete</th>
</tr>
</thead>
</table>
<script>
$('#tbl_vehicle').DataTable({
"processing": true, // for show progress bar
"serverSide": true, // for process server side
"filter": true, // this is for disable filter (search box)
"orderMulti": false, // for disable multiple column at once
"pageLength": 5,
"ajax": {
"url": "/Students/LoadData",
"type": "POST",
"datatype": "json"
},
"columnDefs":
[{
"targets": [0],
"visible": false,
"searchable": false
},
],
"columns": [
{ "data": "Id", "name": "Id", "autoWidth": true },
{ "data": "ClassName", "name": "ClassName", "autoWidth": true },
{ "data": "Student", "title": "Student", "name": "Student", "autoWidth": true },
{
"render": function (data, type, full, meta)
{
var setUrl = "/Students/AddorEdit/' + full.Id +'";
var result = "<a class='btn btn-info btn-sm' onclick='PopupForm('" + setUrl + "')'><i class='fa fa-edit'></i> Edit </a>"
return result;
}
},
]
});
function PopupForm(url) {
alert("value of url " + url);
var formDiv = $('<div/>');
$.get(url).done(function (response) {
formDiv.html(response);
Popup = formDiv.dialog({
autoOpen: true,
resizable: false,
title: 'fill details',
height: 500,
width: 700,
close: function () {
Popup.dialog('destroy').remove();
}
});
});
}
</script>
身份证件
类名
学生
编辑
删除
$('tbl#U车辆')。数据表({
“处理”:true,//用于显示进度条
“服务器端”:true,//用于进程服务器端
“过滤器”:true,//这是用于禁用过滤器(搜索框)
“orderMulti”:false,//用于一次禁用多个列
“页面长度”:5,
“ajax”:{
“url”:“/学生/加载数据”,
“类型”:“职位”,
“数据类型”:“json”
},
“columnDefs”:
[{
“目标”:[0],
“可见”:假,
“可搜索”:false
},
],
“栏目”:[
{“data”:“Id”,“name”:“Id”,“autoWidth”:true},
{“data”:“ClassName”,“name”:“ClassName”,“autoWidth”:true},
{“数据”:“学生”,“头衔”:“学生”,“姓名”:“学生”,“自动宽度”:true},
{
“呈现”:函数(数据、类型、完整、元)
{
var setUrl=“/Students/AddorEdit/”+full.Id+”;
var result=“编辑”
返回结果;
}
},
]
});
函数PopupForm(url){
警报(“url值”+url);
var formDiv=$('');
$.get(url).done(函数(响应){
html(回应);
Popup=formDiv.dialog({
自动打开:对,
可调整大小:false,
标题:“填写详细信息”,
身高:500,
宽度:700,
关闭:函数(){
对话框('destroy').remove();
}
});
});
}
但问题是,没有从数据表行的
Edit
按钮调用函数PopupForm
,因为没有弹出警报消息。此外,PopupForm
中的参数也未正确呈现。这段代码有什么问题?下面这行代码似乎不正确
"render": function (data, type, full, meta)
{
var setUrl = "/Students/AddorEdit/' + full.Id +'";
var result = "<a class='btn btn-info btn-sm' onclick='PopupForm('" + setUrl + "')'><i class='fa fa-edit'></i> Edit </a>"
return result;
}
将其更改为:
var setUrl = "/Students/AddorEdit/" + full.Id;
我已经更新了我的答案。以前它有点不正确。
"render": function (data, type, full, meta)
{
var setUrl = "/Students/AddorEdit/some_id";
var result = '<a class="btn btn-info btn-sm" onclick="PopupForm(\'' + setUrl + '\')"><i class="fa fa-edit"></i> Edit </a>'
return result
}
<a class="btn btn-info btn-sm" onclick="PopupForm('/Students/AddorEdit/some_id')"><i class="fa fa-edit"></i> Edit </a>
var setUrl = "/Students/AddorEdit/' + full.Id +'";
var setUrl = "/Students/AddorEdit/" + full.Id;