Categories > TinyButStrong general (FR) >

Souci de 'selected'

The forum is closed. Please use Stack Overflow for submitting new questions. Use tags: tinybutstrong , opentbs
By: Guitou
Date: 2006-04-14
Time: 10:19

Souci de 'selected'

Bonjour, voici mon souci, j'ai toujours eu du mal avec l'option selected parfois ça fonctionne et parfois non et je ne comprends pas toujours pourquoi pourtant ça fait quelques fois que je l'utilise.

Mon Code PHP
$tailles_l = array( 'S' => 'S', 'M' => 'M', 'L' => 'L', 'XL' => 'XL', 'XXL' => 'XXL');
$TBS->LoadTemplate($_SERVER['CHEMIN'].'/include/templates/saisie/t_saisie2.php');
$TBS->MergeBlock('tailles_l',$tailles_l);
   
$priv['taille'] = $tmp['taille'][0].$tmp['taille'][1];
$tmp['taille'][0] = '';
$tmp['taille'][1] = '';
$priv['taille_l'] = $tmp['taille'];
   
$TBS->Show(TBS_OUTPUT);


Et mon code HTML

<select name="l_taille" id="l_taille">
<option value="[tailles_l.key;block=option]">[tailles_l.val;]</option>
<option>[var.priv.taille_l;selected]</option>
</select>


En parcourant un peu les autres posts traitant du même sujet j'ai testé avec un MergeField, en inversant les ordres des instructions dans le code Php etc mais rien n'y fait j'ai toujours ma ligne selected qui se rajoute à la fin de ma liste déroulante.

Merci de bien vouloir éclairer ma lanterne perdue dans le brouillard du selected.
By: Skrol29
Date: 2006-04-16
Time: 00:06

Re: Souci de 'selected'

Salut,

Ton code marche bien pour moi. Rien n'est sélectionné (ce qui correspond au code PHP) mais je n'ai pas d'item superflu dans la liste.

J'ai dû mettre en comentaire la ligne
  $priv['taille'] = $tmp['taille'][0].$tmp['taille'][1];
parce que j'ai un warning sur $tmp qui n'est pas définie.

Tu as quelle version de TBS ?
By: Guitou
Date: 2006-04-18
Time: 09:30

Re: Souci de 'selected'

Salut à toi et merci de prendre le temps de répondre un dimanche de pâques ;)

Ma version de TBS est la 2.05.7 (donc à moins que je me trompe la derniére sur le site)

Après avoir vu que tu n'avais aucun souci j'ai bidouillé mon code et à moitié compris ce qui ce passait. :/

$tailles_l = array( 'S' => 'S', 'M' => 'M', 'L' => 'L', 'XL' => 'XL', 'XXL' => 'XXL');
$TBS->LoadTemplate($_SERVER['CHEMIN'].'/include/templates/saisie/t_saisie2.php');
$TBS->MergeBlock('tailles_l',$tailles_l);

$tmp['taille'] = '36L'

$priv['taille'] = $tmp['taille'][0].$tmp['taille'][1];
$tmp['taille'][0] = '';
$tmp['taille'][1] = '';
$priv['taille_l'] = $tmp['taille'];

$TBS->Show(TBS_OUTPUT);


Si à l'avant derniére ligne je remplace $priv['taille_l'] = $tmp['taille']; par $priv['taille_l'] = 'L'; (ou 'XL' ) celà fonctionne très bien, alors qu'avec le contenu du tableau comme je te l'ai ajouté ($tmp['taille'] = '36L') celà produit bien l'erreur que je t'ai décrite.

Mes modifications des indices de la chaine à l'intérieur du tableau ne sont loin d'être propres mais l'apparition du problème m'étonne quand même.

Si tu as une idée où une piste je suis preneur.

Cordialement Guillaume
By: Skrol29
Date: 2006-04-18
Time: 13:44

Re: Souci de 'selected'

Salut Guillaume,

Si tu utilise le paramètre "selected" pour ajouter un item simple absent de la liste, alors TBS l'ajoute lui-même. Est ce que c'est ça qu'il t'arrive ? Si oui, alors c'est le comportement standard de TBS. Pour l'éviter , il suffit de passer l'item dans un tableau.
By: Guitou
Date: 2006-04-19
Time: 08:04

Re: Souci de 'selected'

Salut skrol

j'utilise le 'selected' non pas pour ajouter un item absent d'une liste mais pour sélectionner un item exitant de la liste par rapport à la valeur que je lui passe.

J'ai réglé mon souci (qui était imputable à mon code plutot qu'à TBS) mais j'avoue que suivant les cas le 'selected' n'a pas toujours le même comportement et il est parfois un peu délicat de bien l'employer.

Ceci dit j'ai vu que dans la prochaine version de TBS tu corrigeais ça ;)

Merci pour tes conseils
@+
Guillaume