2011-01-17 3 views
1

jqueryと私のフォームで興味深いことをしようとしています。そして、それは、特定の属性に基づいて要素をまとめてグループ化することができます。私は、次の出力例を生成している複数のオプションを持つ複数チェックボックスを持っています。Zendフォームに属性を追加するマルチチェックボックス

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

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

質問は次のとおりです。各オプションの属性に一意の値を設定するにはどうすればよいですか?

+0

が重複する可能性を使用したい方法のユニークな、私はできグループ彼らと今、各オプションを使用すると

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

選択オプションでカスタム属性をカスタマイズする?](http://stackoverflow.com/questions/5401412/zend-form-custom-attribute-in-select-option) –

答えて

2

これを行うにはちょっとした方法があります。

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

まず、エスケープを無効にする必要があります。これを行うには、エスケープ属性をboolean falseに設定する必要があります。

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

これにより、独自の特別ブランドのhtmlを使用することができます。

$要素 - > addMultiOption($オブジェクト - >のid '<スパンクラス= "'。$ otherObject-> ID。 '" >'。$オブジェクト - >名前)。 '</span >';

オプションの出力のようなものです。しかし、私は[のjQueryの:)

関連する問題