1

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

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

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

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

4

1 回答 1

2

这样做有点愚蠢。

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

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

$element->setAttrib('escape', false);

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

$element->addMultiOption($object->id, '<span class="' . $otherObject->id . '">' . $object->name) 。'</span>';

选项的输出类似于:

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

现在每个选项都有一个唯一的,我可以将它们分组,但是我想要使用 jQuery 的方式:)

于 2011-01-17T15:38:23.747 回答