2010-08-02 22 views
0

J'ai une liste déroulante, qui représente le nom de l'entreprise. Je veux une autre liste déroulante en fonction de l'entreprise sélectionnée, qui représentent le projet pour cette entreprise particulière. Quelqu'un peut-il m'aider?La liste déroulante dépend d'une autre liste déroulante dans php smarty

est ici le code

 <tr><td align="right" valign="top" style="text-align:right"><strong>Company:</strong></td> 
     <td align="left" valign="top" >`<select name= "proj" onChange="top.location =' {$smarty.server.PHP_SELF}'" ><option value='null'>all</option>` 
{assign var='cid' value='0'} 


    {foreach from=$companyname item=p} 



    {if $p.cid != $cid} 
     {assign var='cid' value=$p.cid} 
     {html_options values=$p.cid output=$p.pname selected=$p.pname}{/if} 
     {/foreach} 
    </select> 

</td></tr>` 

    <tr> 
    <td align="right" valign="top" style="text-align:right"><strong>Project:</strong></td> 
    <td align="left" valign="top" > 
    <select name= "comp" > 
    <option value='null'>all</option> 

{if $p.pname != "" && $p.pname !="null"} 

    {foreach from=$companyname item=p} 

    {html_options values=$p.pname output=$p.name} 
    {/foreach}{/if} 
</select> 
</td></tr> 

Son pas correctement formaté, mais espérons que l'on peut le comprendre. Merci pour votre aide.

Répondre

0

Pour votre problème, vous avez besoin de la solution Ajax. Vous pouvez essayer d'utiliser des frameworks javascript qui ont des méthodes simples ajax, l'un de mes préférés est jQuery. En utilisant jQuery, vous pouvez simplement déclencher une fonction ajax pour soumettre l'identifiant de la société sélectionnée à un fichier serveur où vous pouvez récupérer la liste des autres options et en utilisant une fonction de rappel, vous pouvez remplir le second menu déroulant.