【发布时间】:2015-07-15 13:08:36
【问题描述】:
我被这个困住了。
我正在使用 Laravel 4 和 select2 下拉菜单插件。
我有一个表单,用户可以从下拉菜单(select2 插件)中选择一个或多个选项。
如果验证失败,则用户将再次返回表单。至于正确的输入,我希望表单保留下拉菜单中的选定值。
这对于用户必须选择一个选项的下拉菜单来说非常好。我得到的代码如下:
<!-- Tipo de evento -->
<div class="form-group <?php if($errors->has('tipo_evento')){echo "has-error";}else if(Input::old('tipo_evento')) echo "has-success"; ?>">
<label for="tipo_evento" class="col-lg-2 control-label">Tipo</label>
<div class="col-lg-10">
<select multiple=""
class="select2 req_place form-control" placeholder="Elija" data-select-search="true"
id="tipo_evento" name="tipo_evento" ><!-- required="" -->
@foreach($tipo_evento as $key1=>$datum)
@foreach($datum as $key2=>$value)
@if($key2=='id')
<option value="{{$value}}" {{ (Input::old('tipo_evento')==$value) ? ' selected="" ' : ''}}>
@elseif($key2=='nombre')
{{$value}}</option>
@endif
@endforeach
@endforeach
</select>
@if($errors->has('tipo_evento'))
<p style="color: red;">{{$errors->first('tipo_evento')}}</p>
@endif
</div>
</div>
一切正常,当表单返回时(如果出现错误),所选选项保持选中状态。
但是,对于多选的情况,也就是说,当用户可以选择一个或多个选项时,什么都没有发生,没有一个选项保持选中状态。 这是我的代码:
<!-- Lugar en donde fue el evento -->
<div class="form-group <?php if($errors->has('lugar')){echo "has-error";}else if(Input::old('lugar')) echo "has-success"; ?>">
<label for="select" class="col-lg-2 control-label">Lugar(es)</label>
<div class="col-lg-10">
<select multiple=""
class="select2 req_place form-control" placeholder="Elija" data-select-search="true"
id="lugar" name="lugar[]" ><!-- required="" -->
@foreach($lugares as $key1=>$datum)
@foreach($datum as $key2=>$value)
@if($key2=='id')
<option value="{{$value}}" {{ (Input::old('lugar[]')==$value) ? ' selected="" ' : ''}}>
@elseif($key2=='lugar')
{{$value}}</option>
@endif
@endforeach
@endforeach
</select>
<p style="color:blue;">{{Input::old('lugar[]')}}</p>
@if($errors->has('lugar'))
<p style="color: red;">{{$errors->first('lugar')}}</p>
@endif
</div>
</div>
我试过这个:
<option value="{{$value}}" {{ (Input::old('lugar[$value]')==$value) ? ' selected="" ' : ''}}>
还有这个:
<option value="{{$value}}" {{ (Input::old('lugar')==$value) ? ' selected="" ' : ''}}>
等等……
我找到了一个提示here,但我正在尝试找出如何将变量 a 不是常量或名称...
有解决这个问题的想法吗?
【问题讨论】:
标签: laravel drop-down-menu laravel-4 jquery-select2