我想做多行选择。行通过struts2标签显示:迭代器,如何获取选择信息,其中应包含所选“id”的列表
<s:form action='Selection'>
<s:iterator value="transInfos">
<input type='hidden' name=id value='<s:property value="id" />' />
<s:checkbox name="selected"/>
<s:property value="name" />
</s:iterator>
<s:submit value="Selection" />
</s:form>
答案 0 :(得分:0)
在我看来,一个选项是在您的表单中创建隐藏字段,如
<s:form action="selection">
<input type='hidden' name="selectedId" value=""/>
</s:form>
你可以在你的复选框中添加一个点击事件,如果它被检查你可以添加值ta变量并在隐藏字段中设置,每个新添加应该以逗号分隔的方式添加为新值,如结束隐藏字段应该像
<input type='hidden' name="selectedId" value="1,2,3,4"/>
您提交表单时可以解析表单值,并可以根据分隔符","
其他选项是命名具有相同名称的复选框,所以当它被提交时,已检查的值将作为集合提交,选择是你的,你需要决定走哪条路
答案 1 :(得分:0)
我很高兴我能自己回答这个问题。 答案很简单。
<s:form action="..." >
<s:iterator value="transInfos">
<input type="checkbox" name="transIds" value='<s:property value="transID" />'/>
</s:iterator>
<s:submit value="Select"/>
</s:form>
复选框的值是您要传递给操作的值,所有选中的复选框都会将其值作为列表传递给操作。