bootstrap-select.js & Laravel 窗体门面 -- 无 select "value"
bootstrap-select.js & Laravel Form Facade -- no select "value"
当结合使用 bootstrap-select.js 和 Laravel 表单外观时,不会传输任何值。 dd()
说空
{!! Form::select('user', $users, null, array('class' => 'selectpicker show-tick', 'data-live-search' => 'true', 'id' => 'user_select')) !!}
然而,当使用不带 bootstrap-select 的表单外观时,如下所示:
{!! Form::select('user', $users, null) !!}
有效。
dd()
表示 1
当使用 bootstrap select 时,您应该像这样获取输入:
Input::get('id_of_your_input');
当不使用 bootstrap select 时,您应该这样做:
Input::get('name_of_your_input');
Coz bootstrap select 创建另一个要使用新名称发送的输入(从原始输入的 ID 中提取)
:)
更新
您可以使用 dd(Input::all())
查看发送到控制器的所有输入及其名称。
您案例的最简单再现:
<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::open
和 Form::close
之间
当结合使用 bootstrap-select.js 和 Laravel 表单外观时,不会传输任何值。 dd()
说空
{!! Form::select('user', $users, null, array('class' => 'selectpicker show-tick', 'data-live-search' => 'true', 'id' => 'user_select')) !!}
然而,当使用不带 bootstrap-select 的表单外观时,如下所示:
{!! Form::select('user', $users, null) !!}
有效。
dd()
表示 1
当使用 bootstrap select 时,您应该像这样获取输入:
Input::get('id_of_your_input');
当不使用 bootstrap select 时,您应该这样做:
Input::get('name_of_your_input');
Coz bootstrap select 创建另一个要使用新名称发送的输入(从原始输入的 ID 中提取) :)
更新
您可以使用 dd(Input::all())
查看发送到控制器的所有输入及其名称。
您案例的最简单再现:
<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::open
和 Form::close