【问题标题】:CakePHP: Setting default value on a select with optgroupsCakePHP:使用 optgroups 在选择上设置默认值
【发布时间】:2011-03-07 17:20:07
【问题描述】:

在没有 optgroup 的普通选择中,CakePHP 中的以下代码会将一个值设为默认值:

'选中' => $值

一旦我有了 optgroups(带有标题的选择标签),我该如何设置默认值?之前的代码好像不行。

【问题讨论】:

    标签: php html cakephp cakephp-1.3


    【解决方案1】:

    你可以这样尝试:

    echo $this->Form->input('group_id', array('type'=>'select','default'=>'2'));
    

    导致生成以下 HTML:

    <option value="2" selected="selected">Managers</option>
    

    现在显示选项二,而不是任何其他选项。

    【讨论】:

      【解决方案2】:

      不要使用“value”或“selected”等。这会破坏您在 POST 中的表单。 如果必须使用视图级别,请使用“默认”。

      更好的方法是从控制器设置它们:

      if ($this->RequestHandler->is('post')) {
          ...
      } else {
          $this->data['Model']['field'] = 2; // e.g.
      }
      

      详情请见http://www.dereuromark.de/2010/06/23/working-with-forms/

      【讨论】:

        【解决方案3】:
        echo $this->Form->input('point', array(
            'label'=>'',
            'options'=>$list_of_options,
            'value'=>$default_value,
            'empty'=>'--select--', 
            'onchange'=>'some_action();' 
          )
        );
        

        【讨论】:

        • 感谢'empty'=&gt;'--select--',你拯救了我的一天!
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-09
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多