使用 Laravel 5.8 无法在我的浏览器中获得基本的 select2 多选功能

Posted

技术标签:

【中文标题】使用 Laravel 5.8 无法在我的浏览器中获得基本的 select2 多选功能【英文标题】:Can't get basic select2 multiselect to function in my browser, using Laravel 5.8 【发布时间】:2019-08-31 11:14:00 【问题描述】:

我正在尝试在我的应用程序中加入 select2 多选功能,但似乎无法使其正常工作。我在下面包含了我的代码。我已经解决了人们通常面临的所有基本问题,并且我的代码应该以适当的顺序加载。

查看

@extends('layouts.layout')
@extends('layouts.navbar')

@section('content')

                <fieldset>
                        <small class="errorMessage"></small>
                        <label for="tags">Tags</label>
                        <select name="tags" id="tagsList" class="select2-multi form-control" multiple="multiple">
                            @foreach($tags as $tag)
                                 <option value="$tag->id">$tag->name</option>
                            @endforeach
                        </select>
                </fieldset>

布局文件

<!DOCTYPE html>
<html lang="en">
<head>

<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="csrf-token" content=" csrf_token() ">

<!-- CSS -->
<link rel="stylesheet" href="asset('css/app.css')">
<link rel="stylesheet" href="asset('css/main.css')">
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.7.1/css/all.css">
<link rel="stylesheet" href="asset('css/select2.min.css')">

<!-- Google Fonts -->
<link href="https://fonts.googleapis.com/css?family=ZCOOL+XiaoWei" rel="stylesheet">
<link href="https://fonts.googleapis.com/css?family=Nunito|Raleway" rel="stylesheet">


<!-- javascript -->
<script src="/js/jquery.js"></script>
<script src="/js/bootstrap.js"></script>


<title>Plant Lab</title>
</head>
<body>

@include('includes.messages')
@yield('jumbotron')
@yield('content')



<script src="asset('js/custom.js')"></script>
<script src="asset('js/select2.min.js')"></script>

</body>
</html>

自定义 JS 文件

// Select 2 

$(document).ready(function() 
    $('.jselect2-multi').select2();
);

我的浏览器只是呈现一个常规的 HTML 选择表单,并且没有应用 Select2。我哪里错了?谢谢!

【问题讨论】:

【参考方案1】:

使您的输入字段名称数组,

<select name="tags[]" id="tagsList" class="select2-multi form-control" multiple="multiple">
  @foreach($tags as $tag)
  <option value="$tag->id">$tag->name</option>
  @endforeach
</select>

你打错字了,

// Select 2 

$(document).ready(function() 
    $('.select2-multi').select2(); // class name should be select2-multi not jselect2-multi
);

【讨论】:

@carlstrom96,如果您认为此答案有用,请点赞。

以上是关于使用 Laravel 5.8 无法在我的浏览器中获得基本的 select2 多选功能的主要内容,如果未能解决你的问题,请参考以下文章

Summernote 所见即所得编辑器无法使用 Laravel 5.8 正确呈现数据

显示功能不起作用。无法按 id 检索元素。拉拉维尔 5.8

Laravel 5.8 多张图片上传

Laravel 5.8:一般错误:1005 无法创建表

Laravel 5.8刀片,从嵌套对象错误中获取值

可以为空的外部的 belongsToMany - Laravel 5.8