我有一个用户提交表单,其中一些字段是下拉列表
<div class="form-group row">
<label for="type" class="col-md-3 col-form-label text-md-right">Type</label>
<div class="col-md-9">
<select class ="form-control" id="type" name="type">
<option>Apartment</option>
<option>House</option>
<option>Studio</option>
<option>Flat</option>
</select>
@if ($errors->has('type'))
<span class="invalid-feedback">
<strong>{{ $errors->first('type') }}</strong>
</span>
@endif
</div>
</div>
这很好用。
我不想让用户编辑特定表单。我可以通过为输入分配值并像这样调用数据
来获取标题和照片等其他部分<input id="Address" type="text" class="form-control" name="address" value="{{$Advert->address }}" required autofocus>
但是当我尝试在选择选项上做类似的事情时,什么都没有出现。这是编辑页面上的下拉列表。
<div class="form-group row">
<label for="type" class="col-md-3 col-form-label text-md-right">Type</label>
<div class="col-md-9">
<select class ="form-control" id="type" name="type" value="{{$Advert->type}}">
<option></option>
<option>Apartment</option>
<option>House</option>
<option>Studio</option>
<option>Flat</option>
</select>
@if ($errors->has('type'))
<span class="invalid-feedback">
<strong>{{ $errors->first('type') }}</strong>
</span>
@endif
</div>
</div>
答案 0 :(得分:2)
您需要在selected
元素上使用option
属性,而不是直接将值分配给select
:
<select class ="form-control" id="type" name="type">
<option value="">Select</option>
<option {{ $Advert->type == 'Apartment' ? 'selected':'' }}>Apartment</option>
<option {{ $Advert->type == 'House' ? 'selected':'' }}>House</option>
<option {{ $Advert->type == 'Studio' ? 'selected':'' }}>Studio</option>
<option {{ $Advert->type == 'Flat' ? 'selected':'' }}>Flat</option>
</select>
但我建议您使用Laravel Collective Forms
更好地处理表单及其元素
答案 1 :(得分:0)
在我使用Laravel Collective Forms之前就已经提出了建议;像这样:
{!! Form::select('type',$selectOptions,null,['id' =>'type','class' => 'form-control'])!!}
变量$ selectOptions将包含所有选项:
$selectOptions = [
'' => 'Select',
'Apartment' => 'Apartment',
'House' => 'House',
'Studio' => 'Studio',
'Flat' => 'Flat'
];
这很容易做到。所有事情应该在一个表格内。
{!! Form::open() !!}} or {!! Form::model($model) !!}
希望它有所帮助。