【问题标题】:preselect the select option using php使用 php 预选选择选项
【发布时间】:2014-12-18 00:23:27
【问题描述】:
我有一个要填写的表格来创建post。现在创建该帖子后,如果我想编辑它,我将在编辑页面中显示select 选项,如下所示。 (我正在使用 Laravel)
<select name="posts">
@foreach($posts as $post)
<option value="{{$post->id}}"> {{$post->name }} </option>
@endforeach
</select>
现在我需要使用当前的post name 预先选择填充的选择字段。我在 URL 中有一个帖子 ID,我可以知道我在哪个帖子中。如何选择正确的选项而不在选项字段中复制相同的选项。 ?
【问题讨论】:
标签:
php
laravel
laravel-4
【解决方案1】:
假设您将当前帖子 id 作为$postId 传递到模板中,您可以执行以下操作:
<select name="posts">
@foreach($posts as $post)
<option value="{{$post->id}}" {{ ($post->id == $postId) ? 'selected="selected"' : '' }}> {{$post->name }} </option>
@endforeach
</select>
此外,由于您使用的是 Laravel,因此更简洁的解决方案是使用 Laravel 的表单构建器:
{{ Form::select('posts', $posts, $postId) }}
【解决方案2】:
在循环内使用if-else 结构。
if ( post is equal to the current post ) {
<option selected="selected" value="{{$post->id}}"> {{$post->name }} </option>
} else {
<option value="{{$post->id}}"> {{$post->name }} </option>
}
条件取决于你,你是想用post id还是post name来检查。 (无论你有什么可用的)。