我正在使用erlang氮气网络框架来开发应用程序。
我必须遗漏一些非常简单的东西,但我无法弄清楚如何检索#dropbox元素所做的选择。它似乎没有被回发消息传递。是否可能需要使用wf:wire / 3功能?
我没有看到任何证明这一点的文档或示例。我能找到的唯一示例只显示回发值,该值不会提供有关选择了哪个选项的任何信息。
答案 0 :(得分:1)
你需要:
答案 1 :(得分:1)
这取决于您使用下拉列表的方式。如果你以一种宁静的“传统形式”非痴呆的方式使用它,那么Pascal提到的宁静元素就是你要走的路。
但是,如果您使用氮气的回发功能使用它们,您只需要通过更标准的氮气ID来定义它们。
body() ->
[
#dropdown{id=fruit, options=[
#option{text="Apple"},
#option{text="Banana"},
#option{text="Orange"}
]},
#button{text="Submit",postback=do_fruit}
].
event(do_fruit) ->
SelectedFruit = wf:q(fruit),
wf:wire(#alert{text="Selected Fruit was " ++ SelectedFruit}).
注意,下拉列表的ID为fruit
。 #button
使用值do_fruit
启动回发,该值在event(do_fruit)
函数中匹配,wf:q(fruit)
检索ID为fruit
的提交值。