以laravel形式设置所选选项

Min*_* Lu 18 php laravel laravel-5.2

我需要像这样的html给出选定的值:

<select name="myselect" id="myselect">
 <option value="1">Item 1</option>
 <option value="2" selected='selected'>Item 2</option>
Run Code Online (Sandbox Code Playgroud)

如何通过laravel形式实现这一目标?

luc*_*scn 41

每个人都在谈论你使用{!! Form::select() !!} 但是,如果您只需要使用简单的HTML ...这是另一种方法.

<select name="myselect">
@foreach ($options as $key => $value)
    <option value="{{ $key }}"
    @if ($key == old('myselect', $model->option))
        selected="selected"
    @endif
    >{{ $value }}</option>
@endforeach
</select>
Run Code Online (Sandbox Code Playgroud)

old()提交表单时,该功能非常有用,验证失败.这样,old()返回先前选择的值.


Cho*_*mud 10

您必须通过传递第三个参数来设置默认选项.

{{ Form::select('myselect', [1, 2], 2, ['id' => 'myselect']) }}
Run Code Online (Sandbox Code Playgroud)

您可以在此处阅读文档.


Mat*_*imi 8

您可以这样做。

<select class="form-control" name="resoureceName">

  <option>Select Item</option>

  @foreach ($items as $item)
    <option value="{{ $item->id }}" {{ ( $item->id == $existingRecordId) ? 'selected' : '' }}> {{ $item->name }} </option>
  @endforeach    </select>
Run Code Online (Sandbox Code Playgroud)


Ray*_*eng 6

使用此软件包并检查文档:

https://laravelcollective.com/docs/5.2/html#drop-down-lists

形成html格式,您需要使用此标记

{!! Form::select('size', array('L' => 'Large', 'S' => 'Small'), 'S'); !!}
Run Code Online (Sandbox Code Playgroud)

  • 尽管仍然保留了HTML包……https://github.com/LaravelCollective/html/issues/600 (3认同)

Hir*_*ana 5

以 Laravel 形式设置 selected 选项非常简单:

{{ Form::select('number', [0, 1, 2], 2) }}
Run Code Online (Sandbox Code Playgroud)

输出将是:

<select name="number">
  <option value="0">0</option>
  <option value="1">1</option>
  <option value="2" selected="selected">2</option>
</select>
Run Code Online (Sandbox Code Playgroud)


Alu*_*tha 5

如果选择框中的选项很少,这是另一种简单的方法,这很好

<select name="job_status">
   <option {{old('job_status',$profile->job_status)=="unemployed"? 'selected':''}}  value="unemployed">Unemployed</option>
   <option {{old('job_status',$profile->job_status)=="employed"? 'selected':''}} value="employed">Employed</option>
</select>
Run Code Online (Sandbox Code Playgroud)


Mah*_*joy 5

            @foreach ($categories as $category)
             <option value="{{$category->id}}" 
               @foreach ($posts->postRelateToCategory as $Postcategory)
                 @if ($Postcategory->id == $category->id)
                 {{'selected="selected"'}}
                 @endif 
               @endforeach >
              {{ $category->category_name }} </option>               
            @endforeach    
Run Code Online (Sandbox Code Playgroud)


ras*_*dcs 5

  <?php
      $items = DB::table('course')->get()->pluck('name','id');
      $selectID = 3;
  ?>

  <div class="form-group">
   {{ Form::label('course_title', 'Course Title') }}
   {!! Form::select('myselect', $items, $select, ['class' => 'form-control']) !!}
  </div>
Run Code Online (Sandbox Code Playgroud)

这显示了类似类型的以下选项:

<select name="myselect" id="myselect">
 <option value="1">Computer Introduction</option>
 <option value="2">Machine Learning</option>
 <option value="3" selected='selected'>Python Programming</option>
 <option value="4">Networking Fundamentals</option>
 .
 .
 .
 .  
</select>
Run Code Online (Sandbox Code Playgroud)


Ire*_*ghe 5

尝试这个

<select class="form-control" name="country_code" value="{{ old('country_code') }}">
   @foreach (\App\SystemCountry::orderBy('country')->get() as $country)
       <option value="{{ $country->country_code }}"
           @if ($country->country_code == "LKA")
             {{'selected="selected"'}}
           @endif
       >
          {{ $country->country }}
       </option>
   @endforeach
</select>
Run Code Online (Sandbox Code Playgroud)


小智 5

拉拉维尔 9:

@php
    $item=2;
@endphp

<select name="myselect" id="myselect">
 <option value="1">Item 1</option>
 <option value="2" @selected($item == 2) >Item 2</option>
</select>
Run Code Online (Sandbox Code Playgroud)

Laravel 文档