程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> trigger-關於jqGrid 表單重新加載的問題

trigger-關於jqGrid 表單重新加載的問題

編輯:編程綜合問答
關於jqGrid 表單重新加載的問題
最近在使用JqGrid 的時候 有一個問題部是很明白
    在表單第一次加載的時候要求只顯示表頭。不顯示數據,所以我在第一次加載的時候沒有給url;
    //加載頁面時,同時加載表頭
$(document).ready(function() {
    pageSetUp();
    jQuery("#jqgrid").jqGrid({
        url : ' ',
        datatype : "json",
        height : 'auto',
        colNames : [ 'id', '姓名', '年齡', '性別', '部門', '職位', '備注','密碼','薪水'],

        colModel : [
        {name : 'id',index : 'id',hidden : true }, 
        {name : 'name',index : 'name',editable : true}, 
        {name : 'age',index : 'age',editable : true}, 
        {name : 'gender',index : 'gender',align : "right",editable : true}, 
        {name : 'dept',index : 'dept',align : "right",editable : true}, 
        {name : 'position',index : 'position',align : "right",editable : true}, 
        {name : 'remark',index : 'remark',sortable : false,editable : true},
        {name : 'possword',index:'possword',editable :true, hidden : true},
        {name : 'seraly',index:'seraly',editable :true, hidden : true},

        ],
        rowNum : 10,
        pager : '#pjqgrid',
        sortname : 'id',
        toolbarfilter : true,
        viewrecords : true,
        sortorder : "asc",
        jsonReader: {

     root: "rows",    // Json數據
    total: "total",   // 總頁數
     page: "page",  // 當前頁
    records: "records",// 總記錄數
   repeatitems: false
   },

        editurl : "${TINY_CONTEXT_PATH}/ajax/dummy.pagelet",
        caption : "Zto",
        multiselect : true,
        autowidth : true,
    });


    然後在頁面上點擊查詢所有數據時,要求把所有數據讀取出來 。 所以我使用了 重新加載 .trigger('reloadGrid') 的方法。 

    jQuery("#jqgrid").jqGrid('setGridParam',{
           url : "list.do",
           datatype : 'json',
           //發送數據  
           postData : {"name":name ,"age":age,"gender":gender,"posswrod":posswrod,
                     "seraly":seraly,"position":position,"dept":dept,"remark":remark},
           page : 1          

        }).trigger('reloadGrid');//重新載入
    })


    可是網頁報錯
    Uncaught TypeError: Illegal invocation
    糾結了半天後,發現要在上面加上一段
        var name=$("#name").val();
        var age=$("#age").val();
        var gender=$("#gender").val();
        var posswrod=$("#posswrod").val();
        var seraly=$("#seraly").val();
        var position=$("#position").val();
        var dept=$("#dept").val();
        var remark=$("#remark").val();

            數據就能正常顯示了

            全部代碼






            $(function(){
    $("#test").click(function(){
         //獲取內容  
        var name=$("#name").val();
        var age=$("#age").val();
        var gender=$("#gender").val();
        var posswrod=$("#posswrod").val();
        var seraly=$("#seraly").val();
        var position=$("#position").val();
        var dept=$("#dept").val();
        var remark=$("#remark").val();

        jQuery("#jqgrid").jqGrid('setGridParam',{
           url : "list.do",
           datatype : 'json',
           //發送數據  
           postData : {"name":name ,"age":age,"gender":gender,"posswrod":posswrod,
                     "seraly":seraly,"position":position,"dept":dept,"remark":remark},
           page : 1          

        }).trigger('reloadGrid');//重新載入


    })
});





最後提一個問題就是:為什麼要在點擊後,獲取
var name=$("#name").val(); 這樣的一個值。
為什麼不加上就會報錯了?

最佳回答:


肯定要加變量的申明啊,name,age,gender。。等等你不申明那不是變量不存在,你直接使用當然報錯 了。除非你window作用域下也存在這些變量的申明

postData : {"name":name ,"age":age,"gender":gender,"posswrod":posswrod,
"seraly":seraly,"position":position,"dept":dept,"remark":remark},

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved