将属性添加到Zend Form Multicheckbox

时间:2011-01-17 14:43:06

标签: zend-framework zend-form-element

我正在尝试用jquery和我的表单做一些有趣的事情。这一切归结为能够根据特定属性将元素组合在一起。我有一个带有大量选项的多个复选框,它生成以下示例输出:

<label for="xyz-nn">
 <input type="checkbox" value="nn" id="xyz-nn" name="xyz[]">Doodle
</label>

想象很多次。 Anywho,我想为每个复选框添加一个具有唯一值的属性,但是使用setAttrib(“attributeName”,“valueN”)将属性设置为最后一个值而不是每个复选框的新值。

问题是:如何为每个选项设置属性的唯一值?

1 个答案:

答案 0 :(得分:2)

这样做有点无用。

我不能为每个多重选项设置不同的属性 - 最后一个将始终覆盖现有属性。所以我不得不在复选框的文本周围添加一个类。当没有明确的方法时,说起来容易做起来难。

首先,我们必须禁用转义。为此,我们必须将escape属性设置为boolean false:

  

$ element-&gt; setAttrib('escape',false);

这允许我们放入我们自己的特殊品牌html。

  

$ element-&gt; addMultiOption($ object-&gt; id,'&lt; span class =“'。$ otherObject-&gt; id。'”&gt;'。$ object-&gt; name)。 '&LT; /跨度&GT;';

选项的输出类似于:

<label for="object-1">
  <input type="checkbox" value="1" id="object-1" name="objects[]" />
    <span class="food">Object One</span>
</label>

现在每个选项都有一个唯一的,我可以按照我想要的方式对它们进行分组:)