rimie1
Invité n'ayant pas de compte PHPfrance
13 mai 2011, 04:31
merci xTG, j'ai echappe la phase de array_key_exists, juste pour eclaircir une petite chose:
+ Le formulaire dispose d'un champs 'SELECT', que j'ajoute le nom avec des options, les options sont en quelque sorte comme: clef=>valeur,... de plus j'ai ajoute une autre option afin de desactiver ou selectionner une option (DISABLED, SELECTED):
<?php
$frm->addSelect('selectName', array('clesssssssssss1'=>'valeur1', 'clef2'=>'valeur2', 'clefffffffffff3'=>'valeur3'), array('DISABLED'=>'valeur1', 'SELECTED'=>'valeur3'));
?>
alors je verifie en premier lieu si DISABLEd, SELECTEd existent au tableau avec array_key_exists (phase echappee), si tout est bon, je prends la valeur par exemple de DISABLED qui est 'valeur1' et je le mets en DISABLED, de meme pour selected, enfin de compte le code serait:
<?php
// DISABLED, SELECTED,..
foreach($this->moreOptions as $mK=>$mV)
{
// clefs et valeurs
if(in_array($mV, $this->options))
{
foreach($this->options as $oK=>$oV)
{
echo 'OV: '.$oV.' MV: '.$mV.'<br>';
// si options valeurs sont egaux a more options valeurs
if($oV == $mV)
{
echo 'ov <font color="red">'.$oV.' avec l index est: '.$mK.'</font> est egal a mv <font color="red">'.$mV.'</font> et sa valeur est: <font color="green">'.$oK.'</font><br>';
$select .= '<option p value="'.$oV.'" '.$mK.'="'.$mK.'">'.$oK.'</option>';
break;
}
else
{
$select .= '<option v value="'.$oV.'">'.$oK.'</option>';
}
}
}
}
$frm->addSelect('selectName', array('clesssssssssss1'=>'valeur1', 'clef2'=>'valeur2', 'clefffffffffff3'=>'valeur3'), array('DISABLED'=>'valeur1', 'SELECTED'=>'valeur3'));
?>
l'affichage HTML est:
[html]
<select name="selectName"><option p value="valeur1" DISABLED="DISABLED">clesssssssssss1</option><option v value="valeur1">clesssssssssss1</option><option v value="valeur2">clef2</option><option p value="valeur3" SELECTED="SELECTED">clefffffffffff3</option>
[/html]
si vous remarquez que pour valeur1 en double:
<option p value="valeur1" DISABLED="DISABLED">clesssssssssss1</option>
<option v value="valeur1">clesssssssssss1</option>
j'ai mis p et v que pour les differencier, pourquoi ce champs exactement est en double??
Merci