【问题标题】:How to edit Select tag in Laravel Collective?如何在 Laravel Collective 中编辑 Select 标签?
【发布时间】:2019-08-19 22:18:58
【问题描述】:

我想编辑 task_status 选择,但我得到一个无效的 foreach() 参数错误。该格式与 Laravel Collective 中的其他格式类似。

{{Form::select('task_status', $task->task_status, [ 'On Hold'=> 'On Hold', 'Completed'=> 'Completed'], ['class' => 'form-control'])}}

【问题讨论】:

  • 您要准确编辑什么。你是怎么得到错误的。你能解释一下你想做得更好吗?
  • {{Form::select('task_status', ['On Hold'=> 'On Hold', 'Completed'=> 'Completed'], $task->task_status, ['class ' => '表单控制'])}} ?你的参数顺序是错误的..我认为。

标签: php laravel forms select laravelcollective


【解决方案1】:

foreach() 参数错误。

仅当您不传递用于填充下拉列表的值时才会发生这种情况

所以你需要知道参数

function select(
        $name,
        $list = [],
        $selected = null,
        array $selectAttributes = [],
        array $optionsAttributes = [],
        array $optgroupsAttributes = []
    )

First Argument => '选择标签的名称'在你的情况下 task_status

第二个参数 => 'Dropdown Values List ' 在你的情况下是 [ 'On Hold'=> 'On Hold', 'Completed'=> 'Completed']

第三个参数 => '选定的选项'在你的情况下 $task->task_status(编辑时使用)

第四个参数 => 'optional Attributes' 在你的情况下是['class' => 'form-control']

所以最终的函数可能看起来像

{!!Form::select('task_status',[ 'On Hold'=> 'On Hold', 'Completed'=> 'Completed'],$task->task_status,['class' => 'form-control'])!!}

如果你正在使用

Form::model() 在编辑时填充值,您不需要添加 $task->task_status

到select标签会自动加载

仅在编辑时

【讨论】:

    【解决方案2】:

    正如他们的documentation 中所述,您需要将选择选项值放在下拉列表的默认选择值之前。

    因此,这将是正确的语法:

    {{Form::select('task_status', [ 'On Hold' => 'On Hold', 'Completed' => 'Completed'], $task->task_status, ['class' => 'form-control'])}}
    

    【讨论】:

      猜你喜欢
      • 2017-11-08
      • 2016-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多