在使用jQuery的數(shù)據(jù)表格插件時(shí),經(jīng)常需要傳入?yún)?shù)來請求不同的數(shù)據(jù),比如分頁、搜索、排序等操作。下面是關(guān)于jQuery datagrid傳參的一些介紹。
1. 傳遞參數(shù)的方式
<table id="dg"></table> <script> $('#dg').datagrid({ url: 'data.php', queryParams: { keyword: 'test', page: 1, rows: 10 } }); </script>
在上面的代碼中,我們通過queryParams屬性傳遞了3個(gè)參數(shù),分別是keyword、 page和rows。這些參數(shù)會(huì)作為請求的查詢字符串發(fā)送到服務(wù)器端。類似地,我們也可以通過使用load方法來傳遞參數(shù),如下:
<table id="dg"></table> <script> $('#dg').datagrid('load', { keyword: 'test', page: 1, rows: 10 }); </script>
2. 獲取參數(shù)的方式
<table id="dg"></table> <script> $('#dg').datagrid({ url: 'data.php', onLoadSuccess: function(data){ console.log(data.rows); // 數(shù)據(jù)行數(shù)組 console.log(data.total); // 數(shù)據(jù)總數(shù) console.log(this.options.queryParams); // 查詢參數(shù)對象 } }); </script>
在上面的代碼中,我們可以通過onLoadSuccess事件獲取返回的數(shù)據(jù)和查詢參數(shù)對象。這樣我們可以對數(shù)據(jù)進(jìn)行操作,比如數(shù)據(jù)過濾、排序等。
3. 動(dòng)態(tài)修改參數(shù)
<table id="dg"></table> <script> $('#dg').datagrid({ url: 'data.php', queryParams: { keyword: 'test', page: 1, rows: 10 } }); $('#btn-search').click(function(){ var keyword = $('#txt-keyword').val(); var page = $('#txt-page').val(); $('#dg').datagrid('options').queryParams = { keyword: keyword, page: page, rows: 10 }; $('#dg').datagrid('reload'); }); </script>
在上面的代碼中,我們通過按鈕的點(diǎn)擊事件動(dòng)態(tài)修改了查詢參數(shù)。這個(gè)示例代碼表示,點(diǎn)擊搜索按鈕時(shí),獲取文本框中的關(guān)鍵字和頁碼,將它們作為新的查詢參數(shù),然后重新加載數(shù)據(jù)。