首頁  >  文章  >  web前端  >  解決JS元件bootstrap table分頁實作過程中遇到的問題

解決JS元件bootstrap table分頁實作過程中遇到的問題

高洛峰
高洛峰原創
2017-01-04 11:55:311732瀏覽

本文為大家分享了bootstrap-table 分頁的問題,供大家參考,具體內容如下

問題1 :伺服器端取不到form值,querystring沒有問題,但是request.form取不到值

 解決:這是ajax的問題,原始碼使用原生的ajax。   1可以用讀流檔案解決。 2 如果想用request.form 方式,設定  contentType: "application/x-www-form-urlencoded",

 如

$('#tableList').bootstrapTable({
method: 'post',
url: "",
height: $(window).height() - 200,
striped: true,
dataType: "json",
pagination: true,
"queryParamsType": "limit",
singleSelect: false,
contentType: "application/x-www-form-urlencoded",

問題2、設定傳遞到伺服器的參數

3、

方法:

reee取不到pageSize 資訊

解決:

1在queryParams中設定

2 在bootstrap-table.minjs檔案修改來源檔案為

"limit"=====.options.queryParamsType&(e={ligmit&(e={ .pageSize,pageNumber:e.pageNumber,

修改bootstrap-table.js 也可以

function queryParams(params) {
 
return {
pageSize: params.limit,
 
pageNumber: params.pageNumber,
 
UserName: 4
 
};
 
}
 
 $('#tableList').bootstrapTable({
method: 'post',
url: "",
height: $(window).height() - 200,
striped: true,
dataType: "json",
pagination: true, 
 
queryParams: queryParams,

設定加入  "queryParamsType": "limit",

完整

if (this.options.queryParamsType === 'limit') {
params = {
search: params.searchText,
sort: params.sortName,
order: params.sortOrder
};
if (this.options.pagination) {
params.limit = this.options.pageSize;
 
params.pageNumber=this.options.pageNumber,
params.offset = this.options.pageSize * (this.options.pageNumber - 1);
}
}

問題」前提: 自訂搜尋且有分頁功能,例如搜尋產品名​​稱的功能.

現象:當搜尋充氣娃娃的時候返回100筆記錄,翻到第五頁.  這時候搜尋按摩棒,數據有200條,結果應該是第一頁的記錄,但是實際顯示的還是第五頁的結果.  也就是重新搜尋後,pagenumber沒有變. 

解決:重新設定option就行了.

<script type="text/javascript">
 
 
 
 
$(document).ready(function() {
 $(&#39;#tableList&#39;).bootstrapTable({
method: &#39;post&#39;,
url: "getcompapylist",
height: $(window).height() - 200,
striped: true,
dataType: "json",
pagination: true,
"queryParamsType": "limit",
singleSelect: false,
contentType: "application/x-www-form-urlencoded",
pageSize: 10,
pageNumber:1,
search: false, //不显示 搜索框
showColumns: false, //不显示下拉框(选择显示的列)
sidePagination: "server", //服务端请求
queryParams: queryParams,
//minimunCountColumns: 2,
responseHandler: responseHandler,
columns: [
{
field: &#39;CompanyId&#39;,
 
checkbox: true
 
},
{
field: &#39;qq&#39;,
 
title: &#39;qq&#39;,
 
width: 100,
 
align: &#39;center&#39;,
 
valign: &#39;middle&#39;,
 
sortable: false
 
}
,
{
field: &#39;companyName&#39;,
 
title: &#39;姓名&#39;,
 
width: 100,
 
align: &#39;center&#39;,
 
valign: &#39;middle&#39;,
 
sortable: false
 
}
]
});
 
});
function responseHandler(res) {
 
 
if (res.IsOk) {
var result = b64.decode(res.ResultValue);
 
var resultStr = $.parseJSON(result);
return {
"rows": resultStr.Items,
"total": resultStr.TotalItems
};
 
} else {
return {
"rows": [],
"total": 0
};
}
 
}
 
//传递的参数
 
function queryParams(params) {
 
return {
pageSize: params.limit,
 
pageNumber: params.pageNumber,
 
UserName: 4
 
};
 
}
</script>

以上就是本文的全部內容,希望對大家的學習有幫助。
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn