我在bootgrid(http://www.jquery-bootgrid.com/)
中重新加载ajax数据时遇到问题我已经成功准备了要显示的网格,但如果我将项目添加到数据库,我想重新加载网格。
我的代码现在是这个(缩短):
var grid;
$(document).ready(function() {
grid = initGrid();
});
function initGrid() {
var local_grid = $('#clients-grid').bootgrid({
"ajax": true,
"url": "/client/grid",
"formatters": {
"commands": function(column, row) {
return "<button type=\"button\" class=\"btn btn-default command-edit\" data-row-id=\"" + row.id + "\"><span class=\"glyphicon glyphicon-pencil\"></span></button> " +
"<button type=\"button\" class=\"btn btn-default command-delete\" data-row-id=\"" + row.id + "\"><span class=\"glyphicon glyphicon-trash\"></span></button> " +
"<button type=\"button\" class=\"btn btn-default command-mail\" data-row-id=\"" + row.id + "\"><span class=\"glyphicon glyphicon-envelope\"></span></button>";
},
"tooltips": function(column,row) {
return '<span type="button" class="content-popover" title="'+row.name+'" data-content="'+row.content+'">Najeďte myší pro zobrazení obsahu</span>';
},
"clientname": function(column,row) {
return row.name;
}
}
}).on("loaded.rs.jquery.bootgrid", function() {
$('.content-popover').popover({
trigger: 'hover',
html: true,
placement: 'right',
content: $(this).attr('data-content')
});
grid.find(".command-edit").on("click", function(e) {
editClient($(this).data('row-id'));
}).end().find(".command-delete").on("click", function(e) {
var id = $(this).data('row-id');
if (confirm('Opravdu smazat klienta s ID: '+$(this).data("row-id")+'?')) {
deleteClient($(this).data('row-id'));
}
}).end().find(".command-mail").on("click", function(e){
mailClient($(this).data('row-id'));
});
});
return local_grid;
}
所以网格变量是全局的,可以从任何地方访问.. 但是这里记录了函数重载:http://www.jquery-bootgrid.com/Documentation#methods无法正常工作,并且我将ajax参数设置为true
有什么建议吗?
谢谢,对不起我的英文
答案 0 :(得分:9)
你有没有尝试过:
$('#grid-data').bootgrid('reload');
对我来说,加载了ajax请求
答案 1 :(得分:2)
所以我自己完成了这项任务: - )
我没有使用grid.reload()方法,但在ajax保存之后,轻松调用:
$('button[title=Refresh]').click();
答案 2 :(得分:0)
更改脚本 jquery.bootgrid.js 片段
中的以下内容 Grid.prototype.reload = function()
{
this.current = 1; // reset
loadData.call(this);
return this;
};
更改为:
Grid.prototype.reload = function(current)
{
this.current = (current !== 'undefined') ? current : 1;
loadData.call(this);
return this;
};