1

jquery と私のフォームで何か面白いことをしようとしています。つまり、特定の属性に基づいて要素をグループ化できるということです。次の出力例を生成する一連のオプションを含むマルチチェックボックスがあります。

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

何度も想像してみてください。とにかく、各チェックボックスに一意の値を持つ属性を追加したいのですが、 setAttrib("attributeName", "valueN") を使用すると、各チェックボックスの新しい値ではなく、最後の値として属性が設定されます。

問題は、各オプションの属性に一意の値を設定するにはどうすればよいかということです。

4

1 に答える 1

2

これを行うにはちょっとした方法です。

各マルチオプションに異なる属性を設定することはできません。最後の属性は常に既存の属性を上書きします。そのため、チェックボックスのテキストの周りにクラスを配置する必要がありました。明確な方法がない場合、言うは易く行うは難し。

まず、エスケープを無効にする必要があります。これを行うには、escape 属性をブール値の 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 に答える