从 Zend Form 元素中删除 id 属性
Remove id attribute from Zend Form element
我有:
$this->addElement('select', 'type', array(
'label' => 'Banner type',
'required' => true,
'multiOptions' => array(
'' => 'Please select',
'1' => 'Image',
'3' => 'Flash',
'4' => 'Html'
),
'value' => '',
));
但是在呈现选定的 dropdown
时,它具有我不想要的 id = "type"
属性。我正在 JavaScript 中克隆它,但在所有事件之后它无法正常工作。
您可以 reset/change 克隆元素后的元素 ID
(在你对它做任何事情之前,即注入回 dom)
简单创建一个变量来保存克隆并更改它 id
属性。例如:
$(function (){
var div = $('#myId');
console.log(div[0].id); //shows the element id
var newDiv = div.clone(); //clone the element
console.log(newDiv[0].id); //shows original element id
newDiv[0].id = "myNewId"; //change the id
console.log(newDiv[0].id); //shows 'myNewId'
});
你最好修改你的javascript(只在克隆元素时更改id)。
如果您想使用 ZF 更改表单元素的结构,您必须创建自己的 select 扩展 Zend_Form_Element_Select 元素,然后创建自己的扩展 Zend_View_Helper_FormSelect 的 formSelect 视图助手并覆盖 formSelect()
方法。然后看我下面的评论:
$xhtml = '<select'
. ' name="' . $this->view->escape($name) . '"'
. ' id="' . $this->view->escape($id) . '"' // remove this line
. $multiple
. $disabled
. $this->_htmlAttribs($attribs)
. ">\n ";
我有:
$this->addElement('select', 'type', array(
'label' => 'Banner type',
'required' => true,
'multiOptions' => array(
'' => 'Please select',
'1' => 'Image',
'3' => 'Flash',
'4' => 'Html'
),
'value' => '',
));
但是在呈现选定的 dropdown
时,它具有我不想要的 id = "type"
属性。我正在 JavaScript 中克隆它,但在所有事件之后它无法正常工作。
您可以 reset/change 克隆元素后的元素 ID
(在你对它做任何事情之前,即注入回 dom)
简单创建一个变量来保存克隆并更改它 id
属性。例如:
$(function (){
var div = $('#myId');
console.log(div[0].id); //shows the element id
var newDiv = div.clone(); //clone the element
console.log(newDiv[0].id); //shows original element id
newDiv[0].id = "myNewId"; //change the id
console.log(newDiv[0].id); //shows 'myNewId'
});
你最好修改你的javascript(只在克隆元素时更改id)。
如果您想使用 ZF 更改表单元素的结构,您必须创建自己的 select 扩展 Zend_Form_Element_Select 元素,然后创建自己的扩展 Zend_View_Helper_FormSelect 的 formSelect 视图助手并覆盖 formSelect()
方法。然后看我下面的评论:
$xhtml = '<select'
. ' name="' . $this->view->escape($name) . '"'
. ' id="' . $this->view->escape($id) . '"' // remove this line
. $multiple
. $disabled
. $this->_htmlAttribs($attribs)
. ">\n ";