Добавить атрибуты в Zend Form Multicheckbox - PullRequest
1 голос
/ 17 января 2011

Я пытаюсь сделать что-то интересное с помощью jquery и моих форм.И все это сводится к возможности группировать элементы на основе определенных атрибутов.У меня есть мульти-чекбокс с кучей опций, который генерирует следующий пример вывода:

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

Представьте себе, что много раз.В любом случае, я хочу добавить атрибут с уникальным значением для каждого флажка, но использование setAttrib ("attributeName", "valueN") устанавливает атрибут как последнее значение вместо нового значения для каждого флажка.

Вопрос заключается в следующем: как мне установить уникальное значение для атрибута в каждой опции?

1 Ответ

2 голосов
/ 17 января 2011

Немного неловкий способ сделать это.

Я не могу установить разные атрибуты для каждого мультиопции - последний всегда будет переопределять существующий атрибут. Поэтому я должен был поместить класс вокруг текста для флажка. Легче сказать, чем сделать, когда нет четкого способа сделать это.

Во-первых, мы должны отключить экранирование. Для этого мы должны установить атрибут escape как логическое false:

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

Это позволяет нам создавать собственную специальную марку html.

$ element-> addMultiOption ($ object-> id, ' 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:)

...