91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在tp5框架中利用Ajax實現列表無刷新排序功能

發布時間:2021-05-07 15:38:52 來源:億速云 閱讀:183 作者:Leah 欄目:開發技術

這期內容當中小編將會給大家帶來有關怎么在tp5框架中利用Ajax實現列表無刷新排序功能,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

首先是表格(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();
    }
  }

上述就是小編為大家分享的怎么在tp5框架中利用Ajax實現列表無刷新排序功能了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

万山特区| 呼伦贝尔市| 祁连县| 固原市| 东山县| 永平县| 泸西县| 察雅县| 湖南省| 滁州市| 东乌珠穆沁旗| 砀山县| 河北省| 甘洛县| 文登市| 绥芬河市| 松桃| 栖霞市| 高台县| 兖州市| 辉南县| 西畴县| 宣化县| 海阳市| 安化县| 绵阳市| 洱源县| 青铜峡市| 哈尔滨市| 滁州市| 南陵县| 诏安县| 昌图县| 乐安县| 文登市| 新昌县| 洛阳市| 奉化市| 东港市| 克拉玛依市| 丁青县|