javascript - jquery grid 第二次加载时不工作

标签 javascript jquery

当我第二次单击时,jquery 网格不起作用。

$(document).ready(function() {
  $('#btnlinechat').click(function() {
    debugger;
    var firstClick = true;
    if (!firstClick) {
      $("#list").trigger("reloadGrid");
    }
    firstClick = false;
    //var getdata = function () {
    //debugger;
    var arr = {};
    var datefromt = document.getElementById('txtfrom').value;
    var datetot = document.getElementById('txtto').value;
    arr.StartDate = datefromt;
    arr.EndDate = datetot;

    $.ajax({
      //mtype: 'GET',
      type: "POST",
      contentType: "application/json",
      //data: "{}",
      data: JSON.stringify(arr),
      url: "buttontest.aspx/GetData",
      dataType: "json",
      success: function(data) {
        data = data.d;
        $("#list").jqGrid({
          datatype: "local",
          colNames: ['Monthly Topup', 'Monthly Payout', 'Balance', 'Monthly Date'],
          colModel: [{
              name: 'monthlytopup',
              index: 'monthlytopup',
              width: 10,
              height: 30,
              editable: false
            }, {
              name: 'monthlypayout',
              index: 'monthlypayout',
              width: 10,
              height: 30,
              editable: false
            }, {
              name: 'balance',
              index: 'balance',
              width: 10,
              height: 30,
              editable: false
            }, {
              name: 'monthlydate',
              index: 'monthlydate',
              width: 10,
              formatter: 'date',
              formatoptions: {
                srcformat: "Y-m-d",
                newformat: 'd/m/y',
                datefmt: 'd/m/y'
              }
            }

          ],
          data: JSON.parse(data),
          rowno: 10,
          loadonce: false,
          rowlist: [5, 10, 20],
          pager: '#pagingGrid',
          viewrecords: true,
          gridview: true,
          sortorder: 'asc',
          rownumbers: true,
          //altrows: true,
          reload: true,
          autowidth: false,
          hoverrows: true,
          height: 300,
          //multiselect: false,
          width: 1345,
          rownumbers: true,
          caption: "DATA",
        });
        debugger;
        $('#list').jqGrid('navGrid', '#pagingGrid', {
          edit: false,
          add: false,
          del: false,
          search: true,
          searchtext: "Search",
          viewrecords: true,
          reload: true,
          //cloneToTop: false,
        });
      },
    });
    //}
  });

});

最佳答案

自从您在点击处理程序中明确说明以来,每次点击都被视为第一次点击:

 var firstClick = true;

相反,这应该看起来像:

var firstClick = true; // << Outside the click handler

$(document).ready(function() {
  $('#btnlinechat').click(function() {
    debugger;

    if (!firstClick) {
      $("#list").trigger("reloadGrid");
    }
   ...

关于javascript - jquery grid 第二次加载时不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36218729/

相关文章:

javascript - 如何为 Angular 2 博客文章设置不同模板的格式?

javascript - 数学逻辑,将可缩放数字转换为百分比

jquery - 从Ajax调用获取数据,而不是字符串

jquery - Zend 表单 : How to create a 'create account form' that checks for unique username?

Jquery 说明 >*

javascript - 在字符串中查找 ID 并从数组中替换

javascript - 递归减少连续重复数字的数组

javascript - 缺少 ) 和 JavaScript 代码

javascript - 滑动切换一旦点击就不会保持不动?

javascript - 使用 Javascript 将类添加到 YouTube iframe 元素