婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > tp5框架基于Ajax實現列表無刷新排序功能示例

tp5框架基于Ajax實現列表無刷新排序功能示例

熱門標簽:山西探意電話機器人 山西回撥外呼系統 昭通辦理400電話 河南電銷卡外呼系統哪家強 岳陽外呼型呼叫中心系統在哪里 青島語音外呼系統招商 騰訊外呼管理系統 百應電話機器人服務 揚州地圖標注app

本文實例講述了tp5框架基于Ajax實現列表無刷新排序功能。分享給大家供大家參考,具體如下:

在后臺管理的時候我們有時需要對數據進行排序,以控制數據在模板顯示的順序,排序的原理就是修改數據庫,然后更新視圖。我們可以單獨寫一個方法來實現排序的功能,成功后刷新頁面,也可以利用Ajax技術,實現數據的局部請求,也就是無刷新排序的功能。

現在想要達到的效果是在排序的input框中輸入數值,點擊排序實現無刷新排序的功能。

首先是表格(cate.html)這一塊我們要單獨摘出來,放入到一個單獨頁面當中,方便我們數據的請求。

table class="table table-bordered">
{include file="news/cateajaxpage"}
/table>

其中cateajaxpage.html的內容為:

  thead>
    tr>
      th>ID/th>
      th>分類名稱/th>
      th>排序/th>
      th>操作/th>
    /tr>
  /thead>
  tbody>
    {volist name="news" id="vo"}
    tr>
      td>{$vo.id}/td>
      td>{$vo.name}/td>
      td>input type="text" value="{$vo.order}" name="{$vo.id}">/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="{:url('admin/news/cateadd',array('id'=>$vo.id))}" rel="external nofollow" >添加子分類/a>
            /li>
            li>a href="{:url('admin/news/cateupd',array('id'=>$vo.id))}" rel="external nofollow" >修改/a>
            /li>
            li>a href="javascript:if(confirm('確認刪除?')) location='{:url('admin/news/del',array('id'=>$vo.id))}'" rel="external nofollow" >刪除/a>
            /li>
          /ul>
        /div>
      /td>
    /tr>
    {volist name="$vo.children" id="vo1"}
    tr>
      td>{$vo1.id}/td>
      td>|————{$vo1.name}/td>
      td>input type="text" value="{$vo1.order}" name="{$vo1.id}">/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="{:url('admin/news/cateupd',array('id'=>$vo1.id))}" rel="external nofollow" >修改/a>
            /li>
            li>a href="javascript:if(confirm('確認刪除?')) location='{:url('admin/news/del',array('id'=>$vo1.id))}'" rel="external nofollow" >刪除/a>
            /li>
          /ul>
        /div>
      /td>
    /tr>
    {/volist}
    {/volist}
  /tbody>

這里因為使用了無限級分類得到多維數組的技術,所以會有兩個volist,如果你不太懂無限級分類的話可以分配過來一個普通的數據過來,重點是:

input type="text" value="{$vo.order}" name="{$vo.id}">/td>

這句在顯示排序值得同時,為每一個input框設置了一個name值,這個值就是分類的id值,通過這種方式,可以為列表當中的所有input框進行區分,且能通過數據庫獲取到對應的分類。

回到cate.html,寫Ajax:

  $("#changeOrder").click(function(event) {
      /* Act on the event */
      var json = {};
      $("input").not('#top-search').each(function(index, el) {
        json[$(this).attr('name')] = $(this).val();
      });
      $.ajax({
        url: '{:url("admin/news/cate")}',
        type: 'post',
        data: json
      })
      .done(function(data) {
        $(".table-bordered").html(data);
        $(document).click();
      })
    });

其中changeOrder是我們為排序按鈕添加的id值,我們把每一組id、order都放進json變量當中,傳遞給控制器。

控制器代碼:

public function cate()
  {
    $news_model = model("Newsfenlei");
    if (request()->isAjax()) {
      $post = input('post.');
      foreach ($post as $key => $value) {
        db("newsfenlei")->where('id',$key)->update(['order'=>$value]);
      }
      $list = db("newsfenlei")->order('order desc')->select();
      $news = $news_model->getNews($list);
      $this->assign("news",$news);
      return view('cateajaxpage');
    } else {
      $list = db("newsfenlei")->order('order desc')->select();
      $news = $news_model->getNews($list);
      $this->assign("news",$news);
      return view();
    }
  }

因為涉及到無限級分類,所以使用了模型層獲取數據,getNews方法是獲取到無限級分類后的數據,這塊大家可以直接使用數據庫獲取數據,需要注意的是處理Ajax請求的時候,我們根據POST信息進行數據更新,再數據更新以后再查詢數據庫,將數據分配到模板上。

更多關于thinkPHP相關內容感興趣的讀者可查看本站專題:《ThinkPHP入門教程》、《thinkPHP模板操作技巧總結》、《ThinkPHP常用方法總結》、《codeigniter入門教程》、《CI(CodeIgniter)框架進階教程》、《Zend FrameWork框架入門教程》及《PHP模板技術總結》。

希望本文所述對大家基于ThinkPHP框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • ThinkPHP5.1+Ajax實現的無刷新分頁功能示例
  • ThinkPHP5 通過ajax插入圖片并實時顯示(完整代碼)
  • Thinkphp5框架ajax接口實現方法分析
  • TP5(thinkPHP5)框架基于ajax與后臺數據交互操作簡單示例
  • thinkPHP5框架實現基于ajax的分頁功能示例
  • thinkPHP5 ajax提交表單操作實例分析
  • ThinkPHP中ajax使用實例教程
  • ThinkPHP中使用ajax接收json數據的方法
  • ThinkPHP使用心得分享-ThinkPHP + Ajax 實現2級聯動下拉菜單
  • tp5框架基于ajax實現異步刪除圖片的方法示例

標簽:黃南 寶雞 南陽 銅川 宜賓 湛江 婁底 鎮江

巨人網絡通訊聲明:本文標題《tp5框架基于Ajax實現列表無刷新排序功能示例》,本文關鍵詞  tp5,框架,基于,Ajax,實現,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《tp5框架基于Ajax實現列表無刷新排序功能示例》相關的同類信息!
  • 本頁收集關于tp5框架基于Ajax實現列表無刷新排序功能示例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 峨山| 莆田市| 三台县| 宁都县| 浑源县| 通榆县| 文水县| 介休市| 南乐县| 佛坪县| 都安| 阆中市| 兴城市| 赤水市| 闻喜县| 磐石市| 抚州市| 蒙山县| 崇信县| 紫阳县| 永川市| 翁源县| 莆田市| 界首市| 灵山县| 镇宁| 宜章县| 柳江县| 余江县| 延长县| 上杭县| 南靖县| 平塘县| 东阳市| 亳州市| 大安市| 介休市| 本溪| 沾化县| 南岸区| 高唐县|