【问题标题】:How do I populate Laravel/Blade checkboxes from json in a db如何从数据库中的 json 填充 Laravel/Blade 复选框
【发布时间】:2015-08-07 13:43:53
【问题描述】:

Laravel 非常棒,它会在编辑表单上自动为您填充字段。但是,我似乎很难让它适用于复选框。

我有一个以 json 数组形式存储在数据库中的学科列表,就像 ["FULL_CONTACT","K1"]

如何让这些在表单中显示为选中状态?

{!! Form::model($official, array('method' => 'put', 'route' => ['officials.update', $official->id], 'class' => 'form-horizontal')) !!}
    <div class="form-group">
        <label for="" class="col-lg-3 control-label">First Name:</label>
        <div class="col-lg-9 controls">
            {!! Form::text('first_name', null, array('class' => 'form-control', 'max-length' => '50', 'required')) !!}
        </div>
    </div>

    <label class="checkbox">
        {!! Form::checkbox('disciplines[]', null) !!} Full Contact
    </label>
    <label class="checkbox">
        {!! Form::checkbox('disciplines[]', null) !!} Low Kick
    </label>
    <label class="checkbox">
        {!! Form::checkbox('disciplines[]', null) !!} K1
    </label>
{!! Form::close() !!}

【问题讨论】:

    标签: php laravel blade laravel-5.1


    【解决方案1】:
    {{ Form::checkbox('disciplines[]', 'Low Kick', true) }} 
    

    这将生成以下html

      <input checked="checked" name="disciplines[]" type="checkbox" value="Low Kick">
    

    【讨论】:

      【解决方案2】:

      Form::checkbox 的参数是 Form::checkbox($name, $value, $checked, $options)

      您可以使用@foreach 循环显示所有复选框,例如:

      @foreach($disciplines as $discipline)
          {!! Form::checkbox('disciplines[]', $discipline, null) !!} label
      @endforeach`
      

      【讨论】:

      • 我为设计定位目的对它们进行了硬编码,所以我无法真正循环遍历它们
      • @PeterSmith 然后你可以将值传递给Form::checkbox() 的第二个参数,如果这是你要问的。
      • 如果复选框的值在从数据库返回的数组中,我希望它被检查
      猜你喜欢
      • 2017-04-06
      • 2015-02-13
      • 2014-05-12
      • 2014-12-14
      • 1970-01-01
      • 2019-04-18
      • 2017-09-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多