我正在使用 JQGrid 根据从下拉列表中选择的 LogID 显示来自 db 的一些数据列表。ITS 在第一次点击时正确显示内容。但是在所有后续点击中,页面不会更改或重新加载或做任何事情,但如果我尝试调试脚本,我可以看到按钮点击事件在每次点击时都会被触发,但它仍然没有带回来数据库中更改的 LogID 数据。我不确定,但我认为它与 reloadGrid 触发器有关......
<script type="text/javascript">
var firstClick = true;
$(document).ready(function () {
$('.editor-date > input').datepicker();
$('.getdata').click(function () {
if (!firstClick) {
$("#GridTable").trigger("reloadGrid");
}
firstClick = false;
$('#GridTable').jqGrid({
url: '<%= Url.Action("GetData", "Report") %>',
datatype: 'json',
mtype: 'POST',
colNames: ['Log ID'],
colModel: [{ name: 'LogID', index: 'MessageLogID', key: true, formatter: pointercursor }],
multiselect: true,
sortname: 'LogID',
sortorder: "asc",
viewrecords: true,
pager: $('#pager'),
rowNum: 20,
rowList: [5, 10, 20, 50],
postData: {
IdParam: $('#testLogID').val()
},
jsonReader: {
repeatitems: false,
id: 'LogID',
records: 'TotalRecords',
total: 'TotalPages',
page: 'CurrentPage',
root: 'Rows'
},
loadError: function (xhr, status, error) {
messageBox('Error', 'Error occurred loading data.');
},
height: 'auto',
width: 'auto'
});
});
我发现了一个类似的问题,但解决方案不起作用jQuery 按钮单击刷新 jqGrid 只触发一次