2010-06-28 6 views
-2

Je souhaite ajouter: selected = "selected" à une option de mon menu déroulant si la valeur de ma session est égale à la valeur de l'option.Ajout de texte php

Exemple:

if($_SESSION['sms-timezone'] == 'Africa/Abidjan') 
append selected="selected" where option value="Africa/Abidjan" 

<select> 
<option value="Africa/Abidjan"> Africa/Abidjan(+00:00 GMT) </option> 
<option value="Africa/Asmera"> Africa/Asmera(+03:00 GMT) </option> 
    <option value="Africa/Bamako"> Africa/Bamako(+00:00 GMT) </option> 
    <option value="Africa/Bangui"> Africa/Bangui(+01:00 GMT) </option> 
    <option value="Africa/Banjul"> Africa/Banjul(+00:00 GMT) </option> 
    <option value="Africa/Bissau"> Africa/Bissau(+00:00 GMT) </option> 

La raison de annexant l'option est parce que le menu déroulant contient plus de 500 articles.

+2

duplication possible de [Simplifier les multiples échos] (http://stackoverflow.com/questions/3132955/simplifying-multiple-echos) –

+1

question différente – user342391

+0

Comment est-ce différent? La réponse la mieux notée de la question précédente vous indique exactement comment procéder. –

Répondre

0
<option value="Africa/Bamako" <? if($_SESSION['sms-timezone'] == 'Africa/Bamako') { echo 'selected="selected"';} ?> > Africa/Bamako(+00:00 GMT) </option> 
0

Si vos options sont générées par programme dans une boucle, il serait assez facile de mettre un chèque dans chaque boucle pour définir la « sélectionnée » sur l'élément droit.

Si vous avez simplement écrit chaque élément d'option de manière statique, vous devez alors insérer une instruction if en ligne avec chaque balise d'option pour vérifier si celle en session correspond à l'option en cours. Ne fais pas ça s'il te plait.

Enfin, vous pouvez utiliser JS. Quelque chose comme ça serait assez trivial dans quelque chose comme JQuery.