【问题标题】:Add Attributes to Zend Form Multicheckbox向 Zend Form 多复选框添加属性
【发布时间】:2011-01-17 14:43:05
【问题描述】:
我正在尝试用 jquery 和我的表单做一些有趣的事情。这一切都归结为能够根据特定属性将元素组合在一起。我有一个带有一堆选项的多选框,它正在生成以下示例输出:
<label for="xyz-nn">
<input type="checkbox" value="nn" id="xyz-nn" name="xyz[]">Doodle
</label>
想像很多次。 Anywho,我想为每个复选框添加一个具有唯一值的属性,但是使用 setAttrib("attributeName", "valueN") 将属性设置为最后一个值,而不是每个复选框的新值。
问题是:如何为每个选项的属性设置唯一值?
【问题讨论】:
标签:
zend-framework
zend-form-element
【解决方案1】:
这样做有点不靠谱。
我不能为每个多选项设置不同的属性——最后一个总是会覆盖现有的属性。所以我不得不在复选框的文本周围放置一个类。当没有明确的方法时,说起来容易做起来难。
首先,我们必须禁用转义。为此,我们必须将 escape 属性设置为 boolean false:
$element->setAttrib('escape', false);
这使我们能够放入我们自己的特殊品牌的 html。
$element->addMultiOption($object->id, '' . $object->name) 。 '';
选项的输出类似于:
<label for="object-1">
<input type="checkbox" value="1" id="object-1" name="objects[]" />
<span class="food">Object One</span>
</label>
现在每个选项都有一个唯一的,我可以使用 jQuery 以我想要的方式对它们进行分组:)