2016-03-25 11 views
1

2回目にjqueryグリッドが動作していないときにクリックすると、2回目のロード時にJqueryグリッドが動作しない

var firstClick = true; 

は代わりに、これは次のようになります。:あなたが明示的にあなたのclickハンドラでそう言うので、

$(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, 
     }); 
     }, 
    }); 
    //} 
    }); 

}); 
+0

あなたは私たちにplunkerを表示することができます/ JSFiddle/Codepen?あなたはちょうど私達にコードの束を投げることはできません..少なくともあなたのHTMLを見せてください。 – amanuel2

+0

ここでは、コードjQuery( '#dataGrid')を使用して答えを得ました。jqGrid( "GridUnload");問題は私のために解決されるvar getgriddata = function(){ デバッガ; jQuery( '#dataGrid')。jqGrid( "GridUnload"); var arr = {}; var datefromt = document.getElementById( 'txtfrom')。value; –

答えて

1

すべてのクリックが最初のように扱われ

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

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

    if (!firstClick) { 
     $("#list").trigger("reloadGrid"); 
    } 
    ... 
関連する問題