【问题标题】: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来检查。 (无论你有什么可用的)。

    【讨论】:

      猜你喜欢
      • 2020-12-21
      • 1970-01-01
      • 2016-05-30
      • 1970-01-01
      • 2021-03-14
      • 2013-07-16
      • 2014-04-14
      • 1970-01-01
      • 2021-12-06
      相关资源
      最近更新 更多