亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

laravel框架select2多選插件初始化默認(rèn)選中項(xiàng)操作示例

 更新時(shí)間:2020年02月18日 09:22:58   作者:懷素真  
這篇文章主要介紹了laravel框架select2多選插件初始化默認(rèn)選中項(xiàng)操作,結(jié)合實(shí)例形式分析了laravel框架select2多選插件的基本初始化、設(shè)置默認(rèn)選中項(xiàng)等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了laravel框架select2多選插件初始化默認(rèn)選中項(xiàng)操作。分享給大家供大家參考,具體如下:

項(xiàng)目中有發(fā)送消息功能,需要能通過(guò)搜索,多選用戶(hù),來(lái)指定發(fā)送人。使用 select2 插件來(lái)完成。

select2 的 html 代碼如下:

<div class="form-group" id="member_group">
  <label class="col-lg-3 control-label required">選擇用戶(hù)
  <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 代碼如下:

//選擇用戶(hù)
$("#member_select").select2({
  ajax: {
    //請(qǐng)求的URL
    url: "{{ route('member.index') }}",
    //返回的數(shù)據(jù)類(lèi)型
    dataType: "json",
    //延遲時(shí)間,毫秒
    delay: 500,
    //是否緩存
    cache: true,
    //查詢(xún)數(shù)據(jù)
    data: function (params) {
      //params.term就是你搜索輸入的參數(shù)
      return {
        search: params.term,
        page: params.page || 1
      };
    },
    //請(qǐng)求結(jié)果回調(diào)函數(shù),data就是后端返回的數(shù)據(jù)
    processResults: function (data, params) {
      var data = data.data;
      var results = [];
      //循環(huán)數(shù)據(jù),將數(shù)據(jù)壓入results中
      //注意數(shù)據(jù)必須要有二個(gè)屬性,id和text,分別對(duì)應(yīng)option的value和文本
      //網(wǎng)上有些說(shuō)無(wú)法選中元素,請(qǐng)先檢查這里,你是否設(shè)置了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: '選擇用戶(hù)',
  //是否多選
  multiple: true,
  allowClear: true
});

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

{
  "status_code":200,
  "message":"查詢(xún)成功",
  "data":{
    "current_page":1,
    "data":[
      {
        "id":2006,
        "name":"用戶(hù)1"
      },
      {
        "id":2005,
        "name":"用戶(hù)3"
      },
      {
        "id":2004,
        "name":"用戶(hù)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
  }
}

在編輯消息時(shí),我們需要查看,這條消息發(fā)送給了哪些人,這就需要進(jìn)入編輯頁(yè)面時(shí),讓 select2 默認(rèn)選中用戶(hù)。

網(wǎng)上說(shuō)通過(guò)如下方法可以選中。

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

但是我們這里select2的option是通過(guò)ajax動(dòng)態(tài)加載的,剛進(jìn)頁(yè)面時(shí),select2的ajax根本沒(méi)有觸發(fā),導(dǎo)致select2中沒(méi)有option元素,更無(wú)法被選中。

我們通過(guò)下面的方式,來(lái)實(shí)現(xiàn)默認(rèn)選中。

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中的數(shù)據(jù),可以通過(guò)PHP后端生成好后,渲染到頁(yè)面,然后通過(guò)JSON.parse()解析成JSON對(duì)象。

更多關(guān)于Laravel相關(guān)內(nèi)容感興趣的讀者可查看本站專(zhuān)題:《Laravel框架入門(mén)與進(jìn)階教程》、《php優(yōu)秀開(kāi)發(fā)框架總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門(mén)教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門(mén)教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總

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

相關(guān)文章

  • ThinkPHP的常用配置選項(xiàng)匯總

    ThinkPHP的常用配置選項(xiàng)匯總

    這篇文章主要介紹了ThinkPHP的常用配置選項(xiàng),詳細(xì)匯總了ThinkPHP配置文件中經(jīng)常用到的配置項(xiàng)極其具體含義與作用,需要的朋友可以參考下
    2016-03-03
  • php-fpm配置詳解

    php-fpm配置詳解

    這篇文章主要介紹了php-fpm配置詳解,需要的朋友可以參考下
    2014-02-02
  • Laravel 5.4中migrate報(bào)錯(cuò): Specified key was too long error的解決

    Laravel 5.4中migrate報(bào)錯(cuò): Specified key was too long error的解決

    今天在執(zhí)行l(wèi)aravel migrate時(shí)出現(xiàn)異常,找了好半天才找到問(wèn)題所在,所以這篇文章主要給大家介紹了關(guān)于Laravel 5.4中migrate報(bào)錯(cuò): Specified key was too long error的解決方法,需要的朋友可以參考下。
    2017-11-11
  • php 讀取輸出其他文件的實(shí)現(xiàn)方法

    php 讀取輸出其他文件的實(shí)現(xiàn)方法

    下面小編就為大家?guī)?lái)一篇php 讀取輸出其他文件的實(shí)現(xiàn)方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-07-07
  • ThinkPHP5實(shí)現(xiàn)作業(yè)管理系統(tǒng)中處理學(xué)生未交作業(yè)與已交作業(yè)信息的方法

    ThinkPHP5實(shí)現(xiàn)作業(yè)管理系統(tǒng)中處理學(xué)生未交作業(yè)與已交作業(yè)信息的方法

    這篇文章主要介紹了ThinkPHP5實(shí)現(xiàn)作業(yè)管理系統(tǒng)中處理學(xué)生未交作業(yè)與已交作業(yè)信息的方法,涉及thinkPHP針對(duì)數(shù)據(jù)表的查詢(xún)與遍歷操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-11-11
  • 提高php編程效率技巧

    提高php編程效率技巧

    php是全球范圍應(yīng)用范圍最廣的開(kāi)發(fā)語(yǔ)言,php和linux、apache、mysql緊密結(jié)合,形成了lamp的開(kāi)源黃金搭檔。因其php具有開(kāi)發(fā)周期短、免費(fèi)、穩(wěn)定、安全、簡(jiǎn)單易學(xué)、跨平臺(tái)等優(yōu)勢(shì),被評(píng)為最受歡迎的編程語(yǔ)言,下面小編給大家整理了提高php編程效率的20個(gè)要點(diǎn),需要的可以參考
    2015-08-08
  • PHP隊(duì)列場(chǎng)景以及實(shí)現(xiàn)代碼實(shí)例詳解

    PHP隊(duì)列場(chǎng)景以及實(shí)現(xiàn)代碼實(shí)例詳解

    這篇文章主要介紹了PHP隊(duì)列場(chǎng)景以及實(shí)現(xiàn)代碼實(shí)例詳解,有感興趣的同學(xué)可以跟著學(xué)習(xí)研究下
    2021-02-02
  • tp5(thinkPHP5框架)使用DB實(shí)現(xiàn)批量刪除功能示例

    tp5(thinkPHP5框架)使用DB實(shí)現(xiàn)批量刪除功能示例

    這篇文章主要介紹了tp5(thinkPHP5框架)使用DB實(shí)現(xiàn)批量刪除功能,結(jié)合實(shí)例形式分析了thinkPHP5前端視圖界面數(shù)據(jù)交互及后臺(tái)使用DB處理數(shù)據(jù)庫(kù)刪除的相關(guān)操作技巧,需要的朋友可以參考下
    2019-05-05
  • php中對(duì)內(nèi)置函數(shù)json_encode和json_decode的異常處理

    php中對(duì)內(nèi)置函數(shù)json_encode和json_decode的異常處理

    這篇文章主要介紹了php中對(duì)內(nèi)置函數(shù)json_encode和json_decode的異常處理,本篇文章通過(guò)定義描述和列舉表格以及最后代碼的展示,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 在PHP8中向數(shù)組添加元素的常用方法

    在PHP8中向數(shù)組添加元素的常用方法

    這篇文章主要介紹了在PHP8中向數(shù)組添加元素的常用方法,在這里主要講解幾個(gè)常用的方法:使用方括號(hào)[]添加元素、使用array_unshift()函數(shù),向數(shù)組的頭部添加元素、使用array_push()函數(shù),向數(shù)組的尾部添加元素、使用array_splice()函數(shù)添加元素,需要的朋友可以參考下
    2023-09-09

最新評(píng)論