所以我想做点什么:
html unorderedList: [
group := html radioGroup.
self employeeNames do: [ :eachEmp |
html listItem: [
group radioButton
selected: <set tmpVar = empKey>
callback: [ self <dependent on button pushed> ].
html text: eachEmp ] ] ] ]
我希望这样做是生成一份员工列表,每行都有单选按钮。然后,根据所选的单选按钮和按下的按钮,我们会采取一些措施。
所以我想要的视觉表现就像:
|发布时间卡| --- |时间表历史| --- |打印支票| --- |删除|
所以他们可以选择Employee 3然后按| Delete | - 这会触发员工3的删除。
我想我可以处理我的代码selected:
部分的操作,但我不知道如何处理回调?有没有办法动态选择要调用的内容?
答案 0 :(得分:4)
由于您无论如何都在使用无线电组,因此您只能从员工列表中选择一个条目。现在,如果您使用form
元素来包装控件,您的操作锚点可以简单地触发表单的提交:
formName := 'employee-form'.
html form
name: formName;
with: [
html unorderedList: [
group := html radioGroup.
self employeeNames do: [ :eachEmp |
html listItem: [
group radioButton
selected: nil "<set tmpVar = empKey>";
callback: [ :value | self "<dependent on button pushed>" ];
with: eachEmp ] ] ] ].
html anchor
submitFormNamed: formName;
callback: [ :value | self handleDelete ]
with: 'delete'
将在表单元素的所有回调之后评估锚点的回调。
旁注:注意使用with:
设置锚点和单选按钮文本。您几乎应该始终使用with:
作为html
的最后一条消息。