By: garonica
Date: 2010-05-11
Time: 16:38
|
HTML plugin Select
Bonjour,
Je n'arrive pas a faire fonctionner le plugin HTML:
HTML:
<div id="detail_frais" class="[var.~securite.detail;if [val]='frais';then 'affiche';else 'cache']">
<div class="corps">
<form method="post" action="./index.php" id="bk_frais_[bk_frais.#;block=form]">
<p>
<span class="petit">
<input id="valider_frais_[bk_frais.#]" class="[var.~facture.existe_frais([bk_frais.ID_FRAIS]); if [val]=0; then 'petitbouton'; else 'cache';noerr]" type="image" name="action" value="affecter_frais" src="./images/statut_mission_0.png" alt="Affecter ce frais à la facture" title="Affecter ce frais à la facture" />
<input id="supprimer_frais_[bk_frais.#]" class="[var.~facture.existe_frais([bk_frais.ID_FRAIS]); if [val]=0; then 'cache'; else 'petitbouton';noerr]" type="image" name="action" value="liberer_frais" src="./images/statut_mission_1.png" alt="Supprimer ce frais de la facture" title="Supprimer ce frais de la facture" />
<input class="cache" type="hidden" name="id_frais" value="[bk_frais.ID_FRAIS]" title="" />
</span>
<input class="a250" name="observations" type="text" id="observations_[bk_frais.#]" value="[bk_frais.OBSERVATIONS]" />
<select class="a150" name="id_type_frais" id="id_type_frais_[bk_frais.#]">
<option value="[bk_type_frais_[bk_frais.#].ID_TYPE_FRAIS]">[bk_type_frais_[bk_frais.#].NOM;block=option]</option>
<option>[[bk_frais.ID_TYPE_FRAIS];ope=html;select]</option>
</select>
</p>
</form>
</div>
</div>
|
PHP:
case FRAIS:
$liste=$securite->facture->liste_frais_facturables();
$tbs->MergeBlock('bk_frais','array',$liste);
$types = $securite->type_frais();
$n = sizeof($liste);
for ($i = 1; $i <= $n; $i++)
{
$tbs->MergeBlock("bk_type_frais_$i",'array',$types);
}
break;
|
Les blocs se fusionnent bien mais la sélection de l'item ne se fait pas
si je passe le bloc bk_frais arpès le foreach le select n'est pas fusionné
Je ne vois pas ce que je peux faire.
La version de TBS est 3.5.3 et le plugin HTML: 1.07
Merci de votre aide
|
By: garonica
Date: 2010-05-11
Time: 16:44
|
Re: HTML plugin Select
j'ai corrigé la ligne
<option>[[bk_frais.ID_TYPE_FRAIS];ope=html;select]</option>
|
en
<option>[bk_frais.ID_TYPE_FRAIS;ope=html;select]</option>
|
ca ne change rien
|
By: Skrol29
Date: 2010-05-11
Time: 17:46
|
Re: HTML plugin Select
Salut Garonica,
Oui, ça semble normal.
Tu fusionnes d'abord le bloc "bk_frais", et puis après "bk_type_frais_". Donc quand ce champ [bk_frais.ID_TYPE_FRAIS] est fusionné, le liste des items possible n'est pas encore injectée dans le template, il ne reconnait ton aucun item.
Essaye cette astuce qui est un contournement pas très propre (je ne l'ai pas testé)
[var;if 1=1;then [bk_frais.ID_TYPE_FRAIS];ope=html;select] |
Sinon une autre manière de s'en sortir, plus élégante et plus rapide, c'est de remplacer
<option value="[bk_type_frais_[bk_frais.#].ID_TYPE_FRAIS]">[bk_type_frais_[bk_frais.#].NOM;block=option]</option>
<option>[bk_frais.ID_TYPE_FRAIS;ope=html;select]</option>
|
par
<option value="[bk_type_frais_[bk_frais.#].ID_TYPE_FRAIS]" [bk_type_frais_[bk_frais.#].ID_TYPE_FRAIS;if [val]=[bk_frais.ID_TYPE_FRAIS];then 'selected="selected"';else '']>[bk_type_frais_[bk_frais.#].NOM;block=option]</option>
|
|
By: garonica
Date: 2010-05-11
Time: 19:20
|
Re: HTML plugin Select
J'ai testé la dernière proposition, elle fonctionne.
pour info je m'étais rabattu sur du javascript (jquery):
$(document).ready(function(){
$('#id_type_frais_[bk_frais.#]').val([bk_frais.ID_TYPE_FRAIS]);
});
|
Merci beaucoup du coup de main.
|
|
Posting in progress.
Please wait...
|