Zend2表单 - 将属性设置为select元素中的选项

时间:2014-04-09 08:43:47

标签: php forms zend-framework2

我想知道如何添加一些属性来选择Zend 2中的选项。我的表单元素如下所示:

$this->add(array(
        'type' => 'Zend\Form\Element\Select',
        'name' => 'brand_name',
        'options' => array(
            'label' => 'Choose brand',
            'value_options' => $this->getBrands(),
        ),
    ));

所以它的填充选择与此相似:

<select name="brand_name"><option value="1">aaaa</option></select>

但我希望实现这样的目标:

<select name="brand_name"><option value="1" class="test">aaaa</option></select>

类应该是不同的,取决于特定的选项。可能吗?我为什么要这样做?我需要添加jquery插件 - 链接,需要选项类。

2 个答案:

答案 0 :(得分:1)

我找到了一个解决方案,父选择value_options的数组应如下所示:

foreach ($data as $item) {
        $models[] = array(
          'label' => $item->model_name, 
          'attributes' => array('class' => $item->id_brand_list), 
          'value' => $item->id);
    }

答案 1 :(得分:0)

如果您的数据是array,而您希望从sqldb获取,则可以代码如下:

public function getOptionsForDataSelect()
{
    $dbAdapter = $this->_adapter;
    $sql = "SELECT * FROM db_name ORDER BY db_name ASC";
    $statement = $dbAdapter->query($sql);
    $result = $statement->execute();

    $selectData = array();
    foreach ($result as $res) {
        $selectData[] = array(
            'label' => $res['label_data'],
            'attributes' => array(
                'data-key' => $res['data_id']
            ),
            'value' => $res['value_id']
        );
        // $selectData[$res['id']] = $res['name'];
    }
    return $selectData;
}