2010-11-20 47 views
0

J'ai besoin de diviser plusieurs LI en deux UL avec javascript.Diviser plusieurs LI à UL avec Javascript

Seul le code que je peux modifier est le TemplateFile:

[foreach array="nodes" as="node"] 
    <li> 
    <a href="%prefix%view/%node.id%" [if expr="%node.id%==%id% || %node.id%==%parent_id%"] class="hoofdmenuactief"[/if]>%node.title%</a> 
      %node.subnodes_html% 
    </li> 
[/foreach] 

PHP ne peut pas être ajouté à ce fichier, donc je veux résoudre ce avec JavaScript:

<ul> 
    <li><a href="#">Item 1</a></li> 
    <li><a href="#">Item 2</a></li> 
    <li><a href="#">Item 3</a></li> 
    <li><a href="#">Item 4</a></li> 
    <li><a href="#">Item 5</a></li> 
    <li><a href="#">Item 6</a></li> 
</ul> 

Je veux Javascript à compter de la LI à l'intérieur de l'UL et faire 2 UL'd de LI avec de

le résultat devrait être:

<ul> 
<li><a href="#">Item 1</a></li> 
    <li><a href="#">Item 2</a></li> 
    <li><a href="#">Item 3</a></li> 
</ul> 
<ul> 
    <li><a href="#">Item 4</a></li> 
    <li><a href="#">Item 5</a></li> 
    <li><a href="#">Item 6</a></li> 
</ul> 

Le site utilise Prototype. Est-ce que quelqu'un connaît un exemple de ceci ou comment je devrais commencer? Merci d'avance !!

+0

de Split par quel critère? – DanMan

Répondre

1

Je pense que vous pouvez le faire dans votre modèle. Je ne l'ai utilisé Smarty, vous allez devoir relier les points sur la syntaxe

[LET nodesLen = nodes.length] 
[LET countSoFar = 0] 
[foreach array="nodes" as="node"]  --attributes for key? name? could be helpful 
    <li> 
    <a href="%prefix%view/%node.id%"]>%node.title%</a> 
    </li> 
[countSoFar++] 
[if countSoFar >= nodesLen/2] 
    <ul> 
    </ul> 
[/if] 
[/foreach] 

Dans Theres Smarty smarty..iteration qui ferait ce que je montrais avec countSoFar automatiquement. Voyez de quoi vous êtes capable grâce au moteur de template et comment vous pouvez implémenter ce que j'ai esquissé ci-dessus.

Je ne pense pas que vous avez besoin d'un prototype ou un javascript pour ce faire, et il semble comme un problème beaucoup plus facile à manipuler par tpl