我目前正在编辑页面。我的编辑完美地显示了旧的(产品名称)输入值,如下所示:
<div class="form-group">
<label for="product-input">@lang('product.name')</label>
<input id="product-input" type="text" name="name" class="form-control" value="{{ isset($product) ? $product->name : '' }}">
</div>
我的问题是,我怎样才能选择这个?如何在编辑时获取旧的选定选项值?
我的代码:
<div class="form-group">
<label>@lang('product.group')</label>
<select name="product_group_id" id="product_group_id" class="form-control" ng-model="productGroup" ng-change="changedType(val)">
<option style="display: none" value="">@lang('product.choose_group')</option>
@foreach ($product_groups as $product_group)
<option value="{{$product_group->id}}">{{$product_group->name}}</option>
@endforeach
</select>
</div>
解决方案:
在选项元素中添加了ng-selected,如下所示:
@foreach ($product_groups as $product_group)
<option value="{{$product_group->id}}" ng-selected="{{ isset($product->product_group_id) ? $product->product_group_id == $product_group->id : ''}}">{{$product_group->name}}</option>
@endforeach
答案 0 :(得分:0)
您需要检查旧值等于选项值,然后使用已选择属性:
@foreach ($product_groups as $product_group)
<option @if(old('product_group_id') == $product_group->id) selected @endif value="{{$product_group->id}}">{{$product_group->name}}</option>
@endforeach
答案 1 :(得分:0)
考虑到第一次使用默认值时更好:
<option
value="{{$product_group->id}}"
{{ old('product_group_id', $product->id) != $product_group->id?: 'selected' }}>
{{$product_group->name}}
</option>