当前位置: 首页 > 知识库问答 >
问题:

为什么我的Select2不能在Laravel项目中工作?

姬凡
2023-03-14

在我的项目中,电影和演员、电影和类别之间有着多对多的关系。当我尝试创建一部电影,然后尝试使用Select2添加演员和类别时,它不会列出可用的选项(输入字段看起来是灰色的,好像它们被锁定了)。我查看脚本是否正在加载,它们是否正在加载。这是我的密码。

  MovieController:

  public function create()
  {  
    $actors = Actor::pluck('actor_name', 'id');
    $categories = Category::pluck('category_name', 'id');
    return view('movies.create', compact('actors', 'categories'));
  }

  create.blade.php:

       @extends('layouts.app')

       @section('title', '| Upload Movie')

       @section('stylesheets')

         {!! Html::style('css/select2.min.css') !!}

       @endsection

       @section('content')

         <div class="container">
            <div class="row">
                <div class="col-md-12">
                  <div class="row">
                    <div class="col-md-6">
                       {!! Form::open(['method'=>'POST', 'action'=> 'MovieController@store']) !!}
                      <div class="form-group">
                        {!! Form::label('movie_name', 'Name:') !!}
                        {!! Form::text('movie_name', null, ['class'=>'form-control'])!!}
                      </div>
                      <div class="form-group">
                        {!! Form::label('actor_id', 'Actors:') !!}
                        {!! Form::select('actor_id[]', $actors, null, ['class'=>'form-control select2-multi', 'multiple' => 'multiple']) !!}
                     </div>
                     <div class="form-group">
                        {!! Form::label('category_id', 'Category:') !!}
                        {!! Form::select('category_id[]', $categories, null, ['class'=>'form-control select2-multi', 'multiple' => 'multiple']) !!}
                     </div>
                     <div class="form-group">
                        {!! Form::submit('Upload Movie', ['class'=>'btn btn-primary']) !!}
                     </div>
                        {!! Form::close() !!}
                     </div>
                   </div>
                 </div>
             </div>
         </div>
         @endsection

         @section('scripts')

         {!! Html::script('js/select2.min.js') !!}

         <script type="text/javascript">

         $('.select2-multi').select2();

         </script> 

         @endsection

共有1个答案

李安歌
2023-03-14

直接从选择2留档:

在DOM“就绪”之前,无法安全地对其进行操作。要确保在浏览器初始化Select2控件之前DOM已就绪,请将代码包装在$(文档)中。ready()块。只有一美元(文档)。每页都需要ready()块。

https://select2.org/getting-started/basic-usage

因此,您的代码应该是:

<script type="text/javascript">
    $(document).ready(function() {
          $('.select2-multi').select2();
     });
</script> 
 类似资料:
  • 因此,我创建了一个新的laravel项目,并使用npm run dev在public文件夹中生成css文件。就像我的上一个项目一样,我试着像这样加载我的CSS 但那不起作用。我的文件夹结构是这样的 我查了很多帖子,但没有一个奏效。加载文件的唯一方法如下所示 或 我的问题是为什么asset helper不起作用? 我尝试更改url,更改env'asset_url'等 我知道这是一个很基本的问题,但这

  • 我正试图用IntelliJ启动我的Java Gradle项目。 我和同事一样配置了Tomcat配置。 他们的项目建设得很好。 当我开始构建时,我在构建选项卡中看到以下内容。 它没有超出编写类的范围。 我的应用程序中没有任何ant任务。我只使用Gradle进行依赖关系管理。但出于某种原因,IntelliJ运行了一些Ant任务,并试图“编写”一些类。 构建在此之后挂起,大约3分钟后发生内存异常。只有我

  • 然后我检查了我使用“PIP列表”安装的软件包列表,“PIP3列表”我可以在列表中看到mathplotlib。 然而,当我试图在我的文本编辑器Sublime Text3中导入mathplotlib时,我收到了ModuleNotFounderRror。 所以我在寻找解决方案,并尝试在命令提示符中执行“pip install mathplotlib”操作,而不是在bash shell(基本上是ubunt

  • 我有以下内容: 配置中的基uri是: 基本URI:/API 所以我应该能够获得localhost:8080/api/cars/test 为什么?

  • 问题内容: 注意:我正在使用virtualenvwrapper。 激活虚拟环境之前: 激活虚拟环境后: 问题答案: 您可能已经在系统上安装了lxml,可能是由于系统软件包而安装的。因此,第一次尝试(没有活动的virtualenv)不会失败,但是也不会安装它。它真的什么也没做。 在virtualenv中,默认情况下,系统软件包将被忽略。因此,pip认为未安装lxml。因此,它将尝试将其安装到您的虚拟

  • 我在做一个非常简单的两个按钮状态。如果我点击abutton,A组件显示,如果点击bButk,那么B组件。我正在映射通过数组的项目,以便每个项目都有自己的按钮状态。假设我点击项目1的按钮B,那么我只想要第一个项目B显示。现在所有这些都会同时被触发。我已经在构造函数中限制了它们,但我仍然无法只获得一次点击触发并显示相关组件。