【发布时间】:2015-10-12 12:07:48
【问题描述】:
主要任务是选中一个复选框并获取索引并将其设置在编辑框中并继续进行,我成功实现了编辑框中的选定索引,但我想让用户只选择一个日期
选中一个复选框后,我想取消选中其他选中的值,但是在我的代码中,我可以选中多个复选框,并且最近选中的值存储在编辑框中,我尝试了一些客户端 JavaScript但是失败了,即使在视图范围方法中存储检查的索引值也没有帮助我。重复控件中带有复选框的代码如下。
<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
<xp:this.data>
<xp:dominoDocument var="document1" formName="testing">
</xp:dominoDocument>
</xp:this.data>
<xp:br></xp:br>
<xp:repeat id="repeat1" rows="30" var="r" indexVar="i" first="0">
<xp:this.value><![CDATA[#{javascript:var v:java.util.Vector = new java.util.Vector();
v.add('Date1');v.add('Date2');v.add('Date3');v.add('Date4');v.add('Date5');v.add('Date6');
return v;}]]></xp:this.value>
<xp:br></xp:br>
<xp:div id="checkDiv">
<xp:checkBox id="checkBox1">
<xp:eventHandler event="onchange" submit="true"
refreshMode="partial" refreshId="checkDiv">
<xp:this.action><![CDATA[#{javascript:if(getComponent("checkBox1").value == "true"){
//viewScope.put("IdValue",optionIndex2)
getComponent("finalDate").setValue(r);
//getComponent("checkBox1").getAttributes().put("true",optionIndex2);
}
else
getComponent("finalDate").setValue("");
}]]></xp:this.action>
</xp:eventHandler></xp:checkBox>
<xp:text escape="true" id="computedField1"
value="#{javascript:r}">
</xp:text>
</xp:div>
<xp:br></xp:br>
</xp:repeat>
<xp:inputText id="finalDate"></xp:inputText>
</xp:view>
我不知道,在客户端检查会是最佳选择,还是在服务器端检查会更好。需要了解如何只选中一个复选框。 任何形式的建议都会有所帮助
【问题讨论】:
-
有一些建议的类似问题:stackoverflow.com/questions/26352924/…
-
感谢即时回复,但在我的情况下,重复控件中只有一个复选框与记录重复,并希望从重复控件给出的所有记录中选择一个。
-
是否有理由使用复选框而不是按钮?您无法访问重复的其他行。除非你设置 repeatControls="true",否则只有一行,只是在 Render Response 期间重复。
标签: checkbox xpages repeat xpages-ssjs