我有一个页面,用户可以编辑他们的个人资料设置。数据从数据库读取并显示为许多字段的默认值,如电子邮件,城市,称呼,名字,姓氏等... 但是对于国家领域我从DB获得列表并且总是显示第一个选项(在这种情况下是阿富汗)。如果用户"预先选择"如何将此字段设置为默认值?以前的国家?例如,如果用户之前选择并保存了德国,我希望此选项显示为默认选项,而不是阿富汗。
{!!Form::open(array('url' => 'editUserProfile/'.$user->id, 'files' => true))!!}
<input class="form-control" type="text" name="firstName" value="{{$user->firstName}}" required>
<select class="form-control" name="country">
@foreach($countries as $country)
<option>{{$country->country_name}}</option>
@endforeach
</select>
{!! Form::close() !!}
如何将$user->country
设置为默认名称?
答案 0 :(得分:1)
以下是一些代码:
<select class="form-control" name="country">
@foreach($countries as $country)
<option value="{{$country->country_name}}" {{ $country->country_name == $user->country? ' selected' : '' }}>{{$country->country_name}}</option>
@endforeach
</select>
我添加了value
属性,因此国家/地区名称可以传递给服务器。
并添加了三元运算符,用于检查当前$country->country_name
是否等于$user->country
。
答案 1 :(得分:1)
这可能会有所帮助:
@foreach($countries as $country)
<option value="{{ $country->id }}" <?php if($user->country_id == $country->id){ echo "selected"; } ?> >{{$country->country_name}}</option>
@endforeach