Cet article résume plusieurs problèmes que vous pouvez rencontrer lors de l'utilisation de la table bootstrap pour implémenter la pagination. J'espère qu'il vous sera utile.
Problème 1 : Le serveur ne peut pas obtenir la valeur du formulaire. Il n'y a pas de problème avec la chaîne de requête, mais request.form ne peut pas obtenir la valeur. >Solution : Il s'agit d'un problème ajax. Le code d'origine utilise l'ajax natif. 1 peut être résolu en lisant les fichiers de flux. 2 Si vous souhaitez utiliser la méthode request.form, définissez 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",
Question 2 : Définir les paramètres transmis au serveur
Méthode : 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,
Solution :
1. Dans queryParams Set 2. Modifiez le fichier source dans le fichier bootstrap-table.minjs en "limit"===this.options.queryParamsType&&(e={limit:e.pageSize, pageNumber:e.pageNumber,
Modifiez bootstrap-table.js ou vous pouvez
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. Ajoutez la configuration "queryParamsType": "limit",
Complétez :
<script type="text/javascript"> $(document).ready(function() { $('#tableList').bootstrapTable({ method: 'post', 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: 'CompanyId', checkbox: true } { field: 'qq', title: 'qq', width: 100, align: 'center', valign: 'middle', sortable: false } , { field: 'companyName', title: '姓名', width: 100, align: 'center', valign: 'middle', 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>
Prérequis : Fonction de recherche et de pagination personnalisée, telle que la fonction de recherche de noms de produits .
Phénomène : Lors de la recherche de poupées gonflables, 100 enregistrements sont renvoyés et tournés vers la cinquième page. À ce moment, lors de la recherche de bâtons de massage, il y a 200 enregistrements. être les enregistrements sur la première page, mais l'affichage réel est toujours sur la cinquième page. Autrement dit, après une nouvelle recherche, le numéro de page n'a pas changé
Solution : . Réinitialisez simplement l'option.
function search(){ $('#tableList').bootstrapTable({pageNumber:1,pageSize:10}); }
Si vous souhaitez en savoir plus, vous pouvez cliquer ici Étudions, et voici 3 sujets passionnants pour vous :
Tutoriel vidéo Bootstrap.
Tutoriel de démarrage de BootstrapCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!