我已经完成了创建post
的表单。现在创建该帖子后,如果我想编辑它,我会在编辑页面中显示select
选项,如下所示。 (我正在使用Laravel)
<select name="posts">
@foreach($posts as $post)
<option value="{{$post->id}}"> {{$post->name }} </option>
@endforeach
</select>
现在我需要使用当前post name
预先选择已填充的选择字段。我在URL中有一个帖子ID,我可以知道我在哪个帖子中。如何选择正确的选项而不在选项字段中复制相同的选项。 ?
答案 0 :(得分:5)
假设您将当前帖子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) }}
答案 1 :(得分:1)
在循环内使用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>
}
条件取决于您,是否要使用帖子ID或帖子名称进行检查。 (无论你有什么)。