2010-08-31 6 views

Répondre

5

Je ne pense pas que vous pouvez désactiver un élément? Si vous le désactivez alors pourquoi l'avoir du tout?

Vous ne pouvez désactiver que l'entrée complète <select>.

Nous vous suggérons d'écrire la validation pour ne pas accepter le premier élément.

Modifier après le commentaire de l'OP d'être en mesure de le faire

Voici une autre réponse

// Get the countries element (do this after adding your options), then set the 
// attribute disable for option '1' 
$form->getElement("countries")->setAttrib("disable", array(1)); 

Ceci est suggéré here

+0

en fait je dois l'afficher (juste pour demander à l'utilisateur que l'option Select Following) mais il ne peut pas être sélectionné – bee

+0

Vous avez besoin de validation alors, au moins sur le côté serveur. Je suis sûr que vous ne pouvez pas désactiver les éléments individuels ' \t \t bee

1

Le crédit va à jakenoble.
Juste reformaté le code pour utiliser le formulaireSelect-viewhelper au lieu d'un élément de formulaire.

<?php 
$countries = array(1 => 'Select Option', 2 => 'us', 3 =>'uk'); 
echo $this->formSelect('country', 2, array('disable' => array(1)), $countries) 

Cela se traduira par:

<select name="country" id="country"> 
    <option value="1" label="Select Option" disabled="disabled">Select Option</option> 
    <option value="2" label="us" selected="selected">us</option> 
    <option value="3" label="uk">uk</option> 
</select> 
+0

Hmm, ça marche pour moi. J'utilise la dernière version de Zend 1. *.Il semble que je suis le code que vous avez écrit: '$ this-> formSelect ( $ national-> getName(), $ national-> getValue(), array ('disable' => array (1)), $ nationalité-> getMultiOptions() ); '. C'est vrai hein? Ou est-ce ZF2? – Martyn

3

Il y a une façon de le faire par Zend_Form (au moins sur mon courant ai 1.11):

$this->addElement 
(
    "select","selectName", 
    array("multiOptions"=>array("one","two","three"), "disable"=>array(0,1)) 
); 

Celui désactivera premier deux options.

Questions connexes