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

主頁 > 知識庫 > laravel框架select2多選插件初始化默認選中項操作示例

laravel框架select2多選插件初始化默認選中項操作示例

熱門標簽:邢臺400電話辦理 嘟嘟云外呼系統 濟源百應電銷機器人聯系方式 南寧電話外呼系統線路 咸陽電銷 重慶外呼電銷系統多少錢 辦理400電話哪家好點 南京3D地圖標注 正規電銷機器人系統

本文實例講述了laravel框架select2多選插件初始化默認選中項操作。分享給大家供大家參考,具體如下:

項目中有發送消息功能,需要能通過搜索,多選用戶,來指定發送人。使用 select2 插件來完成。

select2 的 html 代碼如下:

div class="form-group" id="member_group">
  label class="col-lg-3 control-label required">選擇用戶
  span class="required">*/span>
  /label>
  div class="col-lg-4">
  select class="form-control" name="user_id[]" id="member_select" multiple="multiple">/select>
  /div>
/div>

select2 的 js 代碼如下:

//選擇用戶
$("#member_select").select2({
  ajax: {
    //請求的URL
    url: "{{ route('member.index') }}",
    //返回的數據類型
    dataType: "json",
    //延遲時間,毫秒
    delay: 500,
    //是否緩存
    cache: true,
    //查詢數據
    data: function (params) {
      //params.term就是你搜索輸入的參數
      return {
        search: params.term,
        page: params.page || 1
      };
    },
    //請求結果回調函數,data就是后端返回的數據
    processResults: function (data, params) {
      var data = data.data;
      var results = [];
      //循環數據,將數據壓入results中
      //注意數據必須要有二個屬性,id和text,分別對應option的value和文本
      //網上有些說無法選中元素,請先檢查這里,你是否設置了id,并且不為空
      $(data.data).each(function (i, obj) {
        results.push({
          id: obj.id,
          text: obj.name
        });
      });
      return {
        results: results,
        pagination: {
          more: (data.current_page * data.per_page)  data.total
        }
      };
    }
  },
  placeholder: '選擇用戶',
  //是否多選
  multiple: true,
  allowClear: true
});

后端返回的數據如下,直接使用 laravel 的 paginate() 方法 返回分頁數據。

{
  "status_code":200,
  "message":"查詢成功",
  "data":{
    "current_page":1,
    "data":[
      {
        "id":2006,
        "name":"用戶1"
      },
      {
        "id":2005,
        "name":"用戶3"
      },
      {
        "id":2004,
        "name":"用戶3"
      }
    ],
    "first_page_url":"http://test.me/member/index?page=1",
    "from":1,
    "last_page":1,
    "last_page_url":"http://test.me/member/index?page=1",
    "next_page_url":"http://test.me/member/index?page=1",
    "path":"http://test.me/member/index",
    "per_page":1,
    "prev_page_url":null,
    "to":null,
    "total":3
  }
}

在編輯消息時,我們需要查看,這條消息發送給了哪些人,這就需要進入編輯頁面時,讓 select2 默認選中用戶。

網上說通過如下方法可以選中。

$("#spread_select").val([1, 2]).trigger("change");

但是我們這里select2的option是通過ajax動態加載的,剛進頁面時,select2的ajax根本沒有觸發,導致select2中沒有option元素,更無法被選中。

我們通過下面的方式,來實現默認選中。

var selObj = [
  {"id": 1, "name": "小徐"},
  {"id": 2, "name": "小張"},
  {"id": 3, "name": "小明"},
];
(function initSel(selObj) {
  if (selObj) {
    for (var ix = 0; ix  selObj.length; ix++) {
      var item = selObj[ix];
      var option = new Option(item.name, item.id, true, true);
      $("#member_select").append(option);
    }
    $("#member_select").trigger('change');
  }
})(selObj);

selObj中的數據,可以通過PHP后端生成好后,渲染到頁面,然后通過JSON.parse()解析成JSON對象。

更多關于Laravel相關內容感興趣的讀者可查看本站專題:《Laravel框架入門與進階教程》、《php優秀開發框架總結》、《php面向對象程序設計入門教程》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

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

您可能感興趣的文章:
  • 關于laravel后臺模板laravel-admin select框的使用詳解
  • laravel-admin select框默認選中的方法
  • laravel-admin解決表單select聯動時,編輯默認沒選上的問題
  • 在Laravel中使用DataTables插件的方法
  • PHP框架Laravel插件Pagination實現自定義分頁
  • 推薦幾款用 Sublime Text 開發 Laravel 所用到的插件
  • Laravel框架表單驗證詳解
  • Laravel中使用FormRequest進行表單驗證方法及問題匯總
  • Laravel 5框架學習之表單
  • Laravel實現表單提交
  • Laravel 5框架學習之表單驗證
  • Laravel 5框架學習之子視圖和表單復用

標簽:南通 武漢 河南 通遼 唐山 黃山 平頂山 隴南

巨人網絡通訊聲明:本文標題《laravel框架select2多選插件初始化默認選中項操作示例》,本文關鍵詞  laravel,框架,select2,多選,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《laravel框架select2多選插件初始化默認選中項操作示例》相關的同類信息!
  • 本頁收集關于laravel框架select2多選插件初始化默認選中項操作示例的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 宜章县| 泗洪县| 峨山| 疏附县| 乐陵市| 晋州市| 海晏县| 嘉鱼县| 长乐市| 盐池县| 潜江市| 北流市| 南宁市| 苏州市| 临泽县| 区。| 资兴市| 玉田县| 永宁县| 禄劝| 登封市| 绵竹市| 兴和县| 土默特右旗| 宝山区| 邓州市| 永修县| 大姚县| 三台县| 天水市| 天祝| 陇南市| 巩留县| 河津市| 兴山县| 昌图县| 比如县| 阿克苏市| 新郑市| 民乐县| 蚌埠市|