2011-10-31 47 views
4

我想在氮气中创建一个html列表,但无法弄清楚如何去做。基本上我想输出:如何在氮气中使用html列表

<ul> 
    <li>One</li> 
    <li>Two</li> 
</ul> 

我发现一些源在我氮分布下的应用程序/氮/ src目录/内容/ HTML列表,以便它好像有可以做这件事的元素,但没有我尝试使用元素编译。有人可以提供一个会产生上述html的片段吗?

回答

1

只需使用你的Erlang字符串列表manips这样的:

 
body()-> 
Items = ["Joe Armstrong","Robert Virding","Mike Williams"], 
UL = "<ul>" ++ lists:flatten(["<li>" ++ X ++ "</li>" || X <- Items]) ++"</ul>", 
[ 
    #panel{body=[ 
       UL, 
       #br{}, 
       #button {text="Continue", postback=continue} 
    ]} 
].

你有一个项目列表,该列表可以从数据库或任何东西。列表中的项目应该是字符串,以便它能够很好地工作,如果是不同的类型,则需要首先进行转换。然后一个列表理解和后者,你把整个列表变成一件事。希望能帮助到你 !

+1

这飞驰的工作!非常感谢! – rancidfishbreath

+0

不客气@ranchidfishbreath –

4

以下是使用#list和#listitem氮元素而非原始HTML的版本。

body() -> 
    List = ["Apple","Orange","Banana"], 
    #list{ 
    body=[#listitem{body=Fruit} || Fruit <- ListOfFruit] 
    }. 

对于任何表情复杂多了,我通常会从列表理解切换到lists:map/2

+1

这比Muzaaya的解决方案更清洁,但我不想改变我的接受程度,因为他给出了第一个正确的答案。我选择基于这个例子来实现我的代码。谢谢! – rancidfishbreath

+1

完全可以理解。很高兴提供帮助。 – chops

相关问题