一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - PHP教程 - ThinkPHP5.1+Ajax實(shí)現(xiàn)的無(wú)刷新分頁(yè)功能示例

ThinkPHP5.1+Ajax實(shí)現(xiàn)的無(wú)刷新分頁(yè)功能示例

2021-09-29 13:30pan_yuyuan PHP教程

這篇文章主要介紹了ThinkPHP5.1+Ajax實(shí)現(xiàn)的無(wú)刷新分頁(yè)功能,結(jié)合實(shí)例形式詳細(xì)分析了ThinkPHP5.1+Ajax無(wú)刷新分頁(yè)具體原理、前臺(tái)數(shù)據(jù)發(fā)送與后臺(tái)處理相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了ThinkPHP5.1+Ajax實(shí)現(xiàn)的無(wú)刷新分頁(yè)功能。分享給大家供大家參考,具體如下:

無(wú)刷新分頁(yè)可以減輕服務(wù)器負(fù)擔(dān),利用Ajax技術(shù),請(qǐng)求部分信息,提高網(wǎng)站訪問(wèn)速度,是網(wǎng)站建設(shè)的必備技術(shù)。

需要在后臺(tái)展示自定義屬性列表(lst.html),其中的列表部分摘出來(lái),放到(paginate1.html)中:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<div class="row">
  <div class="col-sm-12">
    <div class="ibox float-e-margins">
      <div class="ibox-content">
          <table class="table table-bordered">
            <thead>
              <tr>
                <th>ID</th>
                <th>名稱</th>
                <th>取值</th>
                <th>顯示</th>
                <th>排序</th>
                <th>操作</th>
              </tr>
            </thead>
            <tbody>
              {volist name="self" id="vo"}
              <tr>
                <td>{$vo.id}</td>
                <td>{$vo.name}</td>
                <td>{$vo.value}</td>
                <td>
                  {if $vo.isshow==1}
                  <button type="button" class="btn btn-success btn-sm">是</button>
                  {else/}
                  <button type="button" class="btn btn-danger btn-sm">否</button>
                  {/if}
                </td>
                <td><input type="text" value="{$vo.order}" name=""></td>
                <td>
                  <div class="btn-group open">
                    <button data-toggle="dropdown" class="btn btn-primary dropdown-toggle" aria-expanded="true">操作 <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu">
                      <li><a href="">修改</a>
                      </li>
                      <li><a href="">刪除</a>
                      </li>
                    </ul>
                  </div>
                </td>
              </tr>
              {/volist}
            </tbody>
          </table>
        {$self|raw}
        <div class="row">
          <div class="col-sm-2">
            <button class="btn btn-success" type="button" id="changeOrder">
              <i class="fa fa-plus-square"></i>&nbsp;&nbsp;
              <span class="bold">排序</span>
            </button>
          </div>
        </div>
      </div>
    </div>
  </div>
</div>

其中self是服務(wù)器端傳遞過(guò)來(lái)的自定義屬性,并進(jìn)行了分頁(yè)操作:

?
1
2
$selfattribute_select = db("selfattribute")->paginate(5);
$this->assign("self",$selfattribute_select);

因?yàn)閘st.html把列表摘了出來(lái),所以還要在引入回去,才能使頁(yè)面完整,同時(shí),為了方便進(jìn)行jquery操作,把列表用帶id的div包裹起來(lái):

?
1
2
3
<div id="paginate">
    {include file="selfattribute/paginate1"}
</div>

ThinkPHP5.1帶的分頁(yè)類使用的是BootStrap樣式,它在頁(yè)面顯示時(shí)實(shí)際會(huì)有一個(gè)pagination的類,查看源代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<ul class="pagination">
  <li class="disabled">
    <span>&laquo;</span></li>
  <li class="active">
    <span>1</span></li>
  <li>
    <a href="/xkershouche/public/admin/selfattribute/lst.html?page=2" rel="external nofollow" rel="external nofollow" >2</a></li>
  <li>
    <a href="/xkershouche/public/admin/selfattribute/lst.html?page=3" rel="external nofollow" >3</a></li>
  <li>
    <a href="/xkershouche/public/admin/selfattribute/lst.html?page=4" rel="external nofollow" >4</a></li>
  <li>
    <a href="/xkershouche/public/admin/selfattribute/lst.html?page=5" rel="external nofollow" >5</a></li>
  <li>
    <a href="/xkershouche/public/admin/selfattribute/lst.html?page=6" rel="external nofollow" >6</a></li>
  <li>
    <a href="/xkershouche/public/admin/selfattribute/lst.html?page=2" rel="external nofollow" rel="external nofollow" >&raquo;</a></li>
</ul>

這就是好多人搞不懂的pagination是怎么來(lái)的。

然后開(kāi)始寫js代碼,因?yàn)槲覀兊姆猪?yè)按鈕也在被請(qǐng)求的頁(yè)面當(dāng)中,屬于“未來(lái)”的元素,所以這里我們要用on方法,這個(gè)方法是jquery1.7以后的方法,注意自己的jquery版本。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript">
  $(document).on('click', '.pagination a', function(event) {
    var url = $(this).attr('href');
    $.ajax({
      url: url,
      type: 'get',
    })
    .done(function(data) {
      $("#paginate").html(data);
    })
    return false;
  });
  </script>

其中.done()方法和success方法是一樣的,return false是為了阻止默認(rèn)事件,防止直接跳轉(zhuǎn)。

那么服務(wù)器端就可以根據(jù)情況渲染模板了,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
public function lst()
  {
    $selfattribute_select = db("selfattribute")->paginate(5);
    $this->assign("self",$selfattribute_select);
    if (request()->isAjax()) {
      return view("paginate1");
    } else {
      return view();
    }
  }

希望本文所述對(duì)大家基于ThinkPHP框架的PHP程序設(shè)計(jì)有所幫助。

原文鏈接:https://blog.csdn.net/pan_yuyuan/article/details/81947057

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 女人被爽到呻吟娇喘的视频动态图 | 久草热在线 | 午夜看片a福利在线观看 | 34看网片午夜理 | 丝瓜草莓香蕉绿巨人幸福宝 | ts人妖另类国产 | 九九热精品免费观看 | 成人在线观看一区 | www.爱情岛论坛 | 97自拍视频在线观看 | 久99久热只有精品国产99 | ass亚洲熟妇毛茸茸pics | 亚久久伊人精品青青草原2020 | 女人叉开腿让男人捅 | 侮辱丰满美丽的人妻 | 国产特级毛片aaaaaa | 精品视频一区在线观看 | 女人和拘做受全过程免费 | 女人把扒开给男人爽的 | 青草午夜精品视频在线观看 | 欧美日韩中文字幕久久伊人 | 美女张开大腿让男人桶 | 国产卡一卡二卡三卡四 | 亚洲高清视频在线 | 亚洲欧美韩国日产综合在线 | 德国高清freexxxx性 | 好紧好爽的午夜寂寞视频 | 欧美亚洲一区二区三区 | 特级一级全黄毛片免费 | 国产精品视频一区二区三区经 | 精品小视频在线观看 | 亚洲国产精品免费在线观看 | 动漫美女被羞羞产奶 | 国产在线视频自拍 | 日韩亚洲欧美综合一区二区三区 | 成全动漫视频在线观看 | 日本免费高清在线 | yjzz视频| 无码AV毛片色欲欧洲美洲 | 国产视频a区 | 日韩操比视频 |