使用php预选选择选项

时间:2014-12-18 00:23:27

标签: php laravel laravel-4

我已经完成了创建post的表单。现在创建该帖子后,如果我想编辑它,我会在编辑页面中显示select选项,如下所示。 (我正在使用Laravel)

<select name="posts">
@foreach($posts as $post)

  <option value="{{$post->id}}"> {{$post->name }} </option>

@endforeach
</select>

现在我需要使用当前post name预先选择已填充的选择字段。我在URL中有一个帖子ID,我可以知道我在哪个帖子中。如何选择正确的选项而不在选项字段中复制相同的选项。 ?

2 个答案:

答案 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或帖子名称进行检查。 (无论你有什么)。