...斐伊川
我希望按照定义设置单选按钮ID,但是我设置了带有标签值的id,请告诉我出错的地方。 Thanx ......这是我编码的内容及其输出...
$suggestionMode = new Zend_Form_Element_Radio('radioSuggestionMode');
$suggestionMode->setLabel('')
->addMultiOptions(array('radioSuggestionMode'=>'Suggestion Mode'))
->setAttrib('checked','checked')
->setOptions(array('onclick'=>'selectSuggestionMode()'));
HTML输出我采取以下方式
<input id="radiSuggetionMode-radioSuggestionMode" type="radio" checked="checked" name="radioSuggestionMode">
但我想通过以下方式
<input id="radiSuggetionMode" type="radio" checked="checked" name="radioSuggestionMode">
答案 0 :(得分:2)
您无法更改它,因为此类格式的无线电ID已硬编码到Zend_View_Helper_FormRadio。您必须根据自定义ID生成的原始Zend_View_Helper_FormRadio编写自己的自定义视图助手。
答案 1 :(得分:0)
获得你想要的东西的唯一方法就是扩展Zend_View_Helper_FormRadio,就像Marcin说的那样。在Zend / View / Helper / FormRadio中查找它显然
您可以复制并粘贴整个文件,但是您必须更改一行代码。 (除了班级名称和所有那些)
// generate ID
$optId = $id . '-' . $filter->filter($opt_value);
查找以上行并将其更改为:
// generate ID
$optId = $filter->filter($opt_value);
这会将id更改为您使用addMultiOption方法指定的选项值。
我不知道这是否会破坏任何可能希望ID为id-value格式的zend组件,但你可以试试。
创建类并编辑它之后,您必须将辅助路径添加到视图中,以便它找到它而不是标准帮助程序。
如果这有助于你,请告诉我。