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 });
    }
}

jQuery jTable ListAction 参数值不变

您需要调用 $('#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