Olası Zend_Form_Element_Radio için javascript eklemek için?

3 Cevap php

Sonuçta, ben bu HTML işlemek için benim Zend Form istiyorum:

<p>Do you have any documents to upload?</p>
<p>Yes <input type="radio" value="Yes" name="uploadChoice" onClick="showTable()">&nbsp;&nbsp;No <input type="radio" value="No" name="uploadChoice" onClick="hideTable()" checked></p>

İşte benim Zend_Form içinde ne var:

//create radio buttons
$uploadQuestion = new Zend_Form_Element_Radio('upLoadQuestion');
$uploadQuestion->setLabel('Do you have any documents to upload?')
->addMultiOptions(array(
'yes' => 'Yes',
'no' => 'No'
))
->setSeparator(' ');

Ben çalıştırıyorum sorun kendi radyo düğmeleri için onClick = "ShowTable ()" ve onClick = "hideTable ()" öğeler eklemek için nasıl.

Alternatif olarak, ben javascript yeniden işleme olabilir ve radyo düğmelerinin her birine farklı bir şey eklemek değil, eğer radyo düğmeleri onClick = "toggleTable ()" gibi bir şey eklemek. Ancak, Zend bana bunu izin verecek?

3 Cevap

Siz sadece bu gibi setAttrib kullanmanız gerekir:

$uploadQuestion->setAttrib('onClick','showTable();');

Açıkçası, bu durumda, "uploadQuestion" radiogroup tüm radyo düğmeleri için aynı JS işlevini kullanmanız gerekir.

Bu somenone yardımcı olacağını umuyoruz.

Neden sadece javascript ile bunu değil mi? İçeri giriş elemanı olmak için OnClick gerekmez. Sadece id çekin ve daha sonra olay dinleyicisi eklemek için javascript kullanın.

Alternatif olarak, http://paveldubinin.com/2011/04/zend-form-radio-buttons/ bağımsız Radiobuton elemanların kümesine bölme radyo grubu tarafından bu çözmek için nasıl açıklayan bu yazı ilginizi çekebilir, ama bir tek olarak davranabilir hangi olabilir.

Daha sonra bu bireysel radyo düğmeleri için (isterseniz onlclick dahil) herhangi bir parametreyi atayabilirsiniz.

Lütfen kodu ekle:

->setAttrib('onclick', 'showHideFields()')

: o zaman sadece jquery komut dosyası, bu gibi bir şey eklemek

<script type="text/javascript>
function showHideFields(){
          if($("input[type='radio']:checked").val()==='1'){
             //is checked
          }else if($("input[type='radio']:checked").val()==='0'){
             //is not checked
          }
}
</script>

ps. benim koduyla deneyin

->setAttrib('onclick', 'showHideFields();') 

Ve ben denemek işe yaramadı

->setAttrib('onclick', 'showHideFields()')

VE (1,12 ZF) düzgün çalışmayabilir