bootstrap-select.js& Laravel Form Facade - 没有选择“价值”

时间:2016-09-27 07:45:17

标签: laravel bootstrap-select

将bootstrap-select.js与Laravel Form外观结合使用时,不会传输任何值。 dd()表示空

{!! Form::select('user', $users, null, array('class' => 'selectpicker show-tick', 'data-live-search' => 'true', 'id' => 'user_select')) !!}

但是当使用没有bootstrap的表单Facade时 - 选择如下:

{!! Form::select('user', $users, null) !!}

它有效。

dd()说1

2 个答案:

答案 0 :(得分:3)

使用bootstrap select时,您应该获取如下输入:

Input::get('id_of_your_input');

当不使用bootstrap选择时,你应该这样做:

Input::get('name_of_your_input');

Coz bootstrap select创建另一个要用新名称发送的输入(从原始输入的ID中提取) :)

<强>更新 您可以使用dd(Input::all())查看发送到控制器的所有输入及其名称。

答案 1 :(得分:0)

最简单地复制您的案例:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

<link href="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.11.2/css/bootstrap-select.min.css"/>
<script src="//cdnjs.cloudflare.com/ajax/libs/bootstrap-select/1.11.2/js/bootstrap-select.min.js"></script>

{!! Form::open() !!}
    <select class="selectpicker show-tick" data-live-search="true" name="user">
        <option value="1">Marvin Test</option>
        <option value="2">Lorem Ipsum</option>
        <option value="3">Amy Johnson</option>
        <option value="4">sdsd</option>
        <option value="5">lol lol</option>
        <option value="6">test test</option>
    </select>
    {!! Form::submit() !!}
{!! Form::close() !!}

dd($request->all()给出:

array:2 [▼
  "_token" => "GPsRkSn3GVK3zWZmJ2Rf7rQlZ75WVZ2c1JxHZgjy"
  "user" => "6"
]

自动添加令牌隐藏字段。这就是为什么我在评论中询问你是否介于Form::openForm::close之间