我想知道如何在Zend2中为select的选项添加一些属性。我的表单元素如下:
$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插件链,它需要类作为选项。
我找到了一个解决方案,父选择值选项的数组应该是这样的:
foreach ($data as $item) {
$models[] = array(
'label' => $item->model_name,
'attributes' => array('class' => $item->id_brand_list),
'value' => $item->id);
}
如果您的数据是您更喜欢从sql
或db
获得的array
,您可以编写如下代码:
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;
}