jQuery jTable ListAction 参数值不变
本文关键字:参数 jTable ListAction jQuery | 更新日期: 2023-09-27 18:33:11
我有 2 个 jQuery UI 日期选择器,并且正在使用 jQuery jTable 显示我的数据。当我单击LOAD按钮时,它会调用我的LoadTable函数,该函数使用选定的日期调用我的 ASP.NET MVC 4控制器方法。
第一次我选择故意不返回数据的日期,但第二次当我选择正确的日期时,第一次的日期值在我的控制器中始终相同,因此在第一次选择后这些值永远不会更改。
请有人解释为什么会发生这种情况,或建议修复?我认为这可能是未解决的jQuery AJAX回调,但我不确定。
<div>
<input type="datetime" id="StartDate" readonly="readonly" />
<input type="datetime" id="EndDate" readonly="readonly" />
<button type="button" id="btnLoadTable">LOAD</button>
</div>
<div id="JTableContainer"></div>
<script type="text/javascript">
$('#btnLoadTable').click(function () {
LoadTable($('#StartDate').val(), $('#EndDate').val());
});
</script>
function LoadTable(startDate, endDate) {
$("#JTableContainer").jtable({
title: '',
paging: false,
sorting: true,
defaultSorting: 'Name ASC',
columnSelectable: false,
openChildAsAccordion: true,
actions: {
listAction: '@Url.Action("DataList")?startDate=' + startDate + '&endDate=' + endDate
},
fields: {
// abbreviated for space
public JsonResult DataList(string startDate, string endDate)
{
try
{
// I know a straight-parse is not best practice.
var data = _repository.GetData(DateTime.Parse(startDate), DateTime.Parse(endDate));
return Json(new { Result = "OK", Records = data, TotalRecordCount = data.Count });
}
catch (Exception ex)
{
return Json(new { Result = "ERROR", Message = ex.Message });
}
}
您需要调用 $('#JTableContainer').jtable('load') 才能将记录实际加载到表中。请参阅 jTable.org API 参考
$('#element').jtable({ajaxSettings: { type: 'GET', cache:false }});
$element.jtable('destroy');
$element.jtable({FULL JSON LOAD DATA });
$element.jtable("load");
Github #issue