【问题标题】:Laravel 5.3 Form Builder Assign 'value' Dynamically on Select OptionsLaravel 5.3 表单生成器在选择选项上动态分配“值”
【发布时间】:2017-05-26 12:14:31
【问题描述】:

如何在我的视图中动态分配 Laravel 表单生成器选择选项上的“值”?

例子:

功能

public function create()
{
    $categories = \DB::table('categories')->pluck('name', 'id');
    return view('link.create')->with('categories', $categories);
}

查看

<div class="form-group">
    {!! Form::label('Link Category') !!}<br />
    {!! Form::select('category', 
        (['0' => 'Select a Category'] + $categories), 
            null, 
            ['class' => 'form-control']) !!}
</div>

结果

<select name="category" class="form-control">
    <option value="0">Select a Category</option>
    <option value="1">Laravel</option>
    <option value="2">Zend Framework</option>
    <option value="3">CakePHP</option>
    <option value="4">PHP</option>
</select>

我希望选择选项的“值”与选项内容相同。

喜欢:

    <option value="1">Laravel</option>

应该是这样的:

    <option value="Laravel">Laravel</option>

【问题讨论】:

    标签: php html forms laravel-5.3 laravel-blade


    【解决方案1】:

    如果你只采摘name,你可以这样做:

    public function create()
    {
        $categories = \DB::table('categories')->pluck('name');
        // creates ['Laravel' => 'Laravel', 'PHP' => 'PHP'...]
        $categories = array_combine($categories, $categories);
        return view('link.create')->with('categories', $categories);
    }
    

    【讨论】:

      【解决方案2】:

      你可以为 key 和 value 选择 name

      public function create()
      {
          $categories = \DB::table('categories')->pluck('name', 'name');
      
          // Combine your default item
          $categories = ['0' => 'Select a Category'] + collect($categories)->toArray();
      
          return view('link.create')->with('categories', $categories);
      }
      

      您的视图修改如下

      <div class="form-group">
           {!! Form::label('Link Category') !!}<br />
           {!! Form::select('category', $categories, null, ['class' => 'form-control']) !!}
      </div>
      

      【讨论】:

      • 将您的默认项目与上面显示的类别集合结合起来
      猜你喜欢
      • 1970-01-01
      • 2016-10-28
      • 1970-01-01
      • 2019-05-01
      • 2018-03-01
      • 2013-03-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多