首頁  >  文章  >  web前端  >  Bootstrap table分頁問題總結【附答案&代碼】

Bootstrap table分頁問題總結【附答案&代碼】

angryTom
angryTom原創
2019-08-20 15:23:082872瀏覽

Bootstrap table分頁問題總結【附答案&代碼】

這篇文章為大家總結了幾款使用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: 設定傳遞到伺服器的參數

#方法:

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,

問題3: 後台取不到pageSize 訊息

## 解決:

##1、在queryParams中設定

 2、在bootstrap-table.minjs檔案修改原始檔為"limit"===this.options.queryParamsType&&(e={limit:e.pageSize,pageNumber:e.pageNumber,

修改bootstrap-table.js 也可以

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);
}
}

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

 完整:

<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>

#問題4:分頁後,重新搜尋的問題

#前提:

自訂搜尋且有分頁功能,例如搜尋產品名​​稱的功能.

現象:

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

 解決:

重新設定option就行了.

 function search(){
     $(&#39;#tableList&#39;).bootstrapTable({pageNumber:1,pageSize:10});
}
如果大家還想深入學習,可以點選這裡進行學習,再為大家附3個精彩的專題:

  

#Bootstrap影片教學

  

#Bootstrap#  入門教學

#######

以上是Bootstrap table分頁問題總結【附答案&代碼】的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn