par
JS » 12 mai 2006, 14:38
Bonjour à tous!
Voila je manipule les templates avec Phplib et je realise une liste deroulante dont l'un des champs doit etre prepositionné(selected)
Cette liste est réalisé avec un bloc imbriqué
for ($i=0;$i<$nbElts;$i++)
{
if ($tab1[$j]['state'] ==$tab[$i])
{
$selected = "selected=\"selected\"";
}
else
{
$selected = "";
}
$moteur->set_var('Liste',$tab[$i]);
$moteur->set_var('SELECTED_',$selected);
$moteur->parse('bloc_SELECTListe','SELECTListe',TRUE);
}
tpl:
Code : Tout sélectionner
<!-- BEGIN SELECTListe -->
<option value="{Liste}" {SELECTED_}>{Liste}</option>
<!-- END SELECTListe-->
Mais le probleme est que pour chaque répétition du bloc externe c'est tourjour le même champ qui est "selected"!C'est à dire qu'il fait a chaque fois la copie du 1er bloc!
En gros j'otient cela :
Code : Tout sélectionner
<select >
<option value="tab1" >tab1</option>
<option value="tab2" >tab2</option>
<option value="tab3" selected>tab3</option>
</select>
<select >
<option value="tab1" >tab1</option>
<option value="tab2" >tab2</option>
<option value="tab3" selected>tab3</option>
</select>
<select >
<option value="tab1" >tab1</option>
<option value="tab2" >tab2</option>
<option value="tab3" selected>tab3</option>
</select>
etc...
Voici le prog complet
$moteur->set_block($id_temp,'SELECTListe','bloc_SELECTListe');//Initialisation du bloc Interne
$moteur->set_block($id_temp,'SELECTListe1','bloc_SELECTListe1');//Initialisation du bloc Externe
$nbElts=10
//Bloc Externe
for($j=0;$j<10;$j++)
{
for ($i=0;$i<$nbElts;$i++)
{
if ($tab1[$j]['state'] ==$tab[$i])
{
$selected = "selected=\"selected\"";
}
else
{
$selected = "";
}
$moteur->set_var('Liste',$tab[$i]);
$moteur->set_var('SELECTED_',$selected);
$moteur->parse('bloc_SELECTListe','SELECTListe',TRUE);
}
$moteur->set_var('SELECTListe',"");
//Fin Bloc Interne
$moteur->parse('bloc_SELECTListe1',1',TRUE);
}
tpl:
Code : Tout sélectionner
<!-- BEGIN SELECTListeActionPlan -->
<div align="center"><select name="ListeActionStatut[{INDEX}][]" value="Identified">
<option value=vide></option>
<!-- BEGIN SELECTListeActionStatut -->
<option value="{ListeActionStatut}" {SELECTED_ActionStatut}>{ListeActionStatut}</option>
<!-- END SELECTListeActionStatut -->
</select>
</div>
<!-- END SELECTListeActionPlan -->
Merci de votre aide!
Bonjour à tous!
Voila je manipule les templates avec Phplib et je realise une liste deroulante dont l'un des champs doit etre prepositionné(selected)
Cette liste est réalisé avec un bloc imbriqué
[php]
for ($i=0;$i<$nbElts;$i++)
{
if ($tab1[$j]['state'] ==$tab[$i])
{
$selected = "selected=\"selected\"";
}
else
{
$selected = "";
}
$moteur->set_var('Liste',$tab[$i]);
$moteur->set_var('SELECTED_',$selected);
$moteur->parse('bloc_SELECTListe','SELECTListe',TRUE);
}
[/php]
tpl:
[code]
<!-- BEGIN SELECTListe -->
<option value="{Liste}" {SELECTED_}>{Liste}</option>
<!-- END SELECTListe-->
[/code]
Mais le probleme est que pour chaque répétition du bloc externe c'est tourjour le même champ qui est "selected"!C'est à dire qu'il fait a chaque fois la copie du 1er bloc!
En gros j'otient cela :
[code]
<select >
<option value="tab1" >tab1</option>
<option value="tab2" >tab2</option>
<option value="tab3" selected>tab3</option>
</select>
<select >
<option value="tab1" >tab1</option>
<option value="tab2" >tab2</option>
<option value="tab3" selected>tab3</option>
</select>
<select >
<option value="tab1" >tab1</option>
<option value="tab2" >tab2</option>
<option value="tab3" selected>tab3</option>
</select>
etc...
[/code]
Voici le prog complet
[php]
$moteur->set_block($id_temp,'SELECTListe','bloc_SELECTListe');//Initialisation du bloc Interne
$moteur->set_block($id_temp,'SELECTListe1','bloc_SELECTListe1');//Initialisation du bloc Externe
$nbElts=10
//Bloc Externe
for($j=0;$j<10;$j++)
{
for ($i=0;$i<$nbElts;$i++)
{
if ($tab1[$j]['state'] ==$tab[$i])
{
$selected = "selected=\"selected\"";
}
else
{
$selected = "";
}
$moteur->set_var('Liste',$tab[$i]);
$moteur->set_var('SELECTED_',$selected);
$moteur->parse('bloc_SELECTListe','SELECTListe',TRUE);
}
$moteur->set_var('SELECTListe',"");
//Fin Bloc Interne
$moteur->parse('bloc_SELECTListe1',1',TRUE);
}
[/php]
tpl:
[code]
<!-- BEGIN SELECTListeActionPlan -->
<div align="center"><select name="ListeActionStatut[{INDEX}][]" value="Identified">
<option value=vide></option>
<!-- BEGIN SELECTListeActionStatut -->
<option value="{ListeActionStatut}" {SELECTED_ActionStatut}>{ListeActionStatut}</option>
<!-- END SELECTListeActionStatut -->
</select>
</div>
<!-- END SELECTListeActionPlan -->
[/code]
Merci de votre aide!