【问题标题】:CakePHP 2.x multiple select boxCakePHP 2.x 多选框
【发布时间】:2013-04-10 17:15:52
【问题描述】:

我通过$this->Form->input('field')创建自动填充多选框。

但是如何使用上面的代码在编辑操作中选择保存值的选项?

【问题讨论】:

    标签: cakephp select html-helper


    【解决方案1】:
    1. 确保您的表单是使用正确的模型创建的

      eg `$this->Form->create('Article');

    2. 通过$this->set() 从控制器传递一个变量作为模型的单数。例如,如果您的模型是“Article”,则传递一个带有数据的变量:

      $this->set('article', $article);

    3. 它将自动填充

    4. 下次您在 StackOverflow 上提出问题时,请提供有关您尝试过的、有效的、无效的、搜索过但找不到的...等信息,所以不觉得我们只是在为你写代码。

    更新(根据 cmets 中的附加信息):

    对于 HABTM,使用模型创建您的字段:

    $this->Form->input('PartnerState');
    

    然后传递一个变量camelCase复数:

    $this->set('partnerStates', $partnerStates);
    

    【讨论】:

    • 问题不是填充,而是从 db 中选择的选项(编辑操作)。
    • 我为模型合作伙伴创建表单,但选择的列表来自 PartnerState (HABTM)。
    • 好的,这可行,但是当我使用编辑操作时,未选择填充的字段(保存后)
    • 因为您没有传递所有数据。您需要确保您的主模型数据包含 HABTM 数据(查找 CakePHP 的可包含行为)。
    • 好吧,让我们不使用 db。我通过 $this->Form->select('Some field', array('AAAAA', 'BBBBB', 'CCCCC'), array('multiple' => true)); 创建字段我选择'BBBBB'并发送表单,我的其他字段无效但字段'Some field'没有选择BBBBB值,为什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-06
    • 1970-01-01
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多