如何确保只选择了一个h:selectOneRadio按钮
How to make sure only one h:selectOneRadio button is selected
我有一些javascript代码(我从BalusC借来的),用于确保在表中只选择一个h:selectOneRadio按钮。不幸的是,我从我的玻璃鱼服务器得到了一个格式错误的表达式:
Error Parsing /ClientSearch.xhtml: Error Traced[line: 13] The content of elements must consist of well-formed character data or markup.
注:
if (elements[i].name.substring(elements[i].name.lastIndexOf(':')) == id) {
似乎是的问题
我也不完全理解javascript(我是一个新手),我希望有人能向我解释一下
以下是完整的javascript:
function dataTableSelectOneRadio(radio) {
var id = radio.name.substring(radio.name.lastIndexOf(':'));
var elements = radio.form.elements;
for (var i = 0; i < elements.length; i++) {
if (elements[i].name.substring(elements[i].name.lastIndexOf(':')) == id) {
elements[i].checked = false;
}
}
radio.checked = true;
}
</script>
为什么我会出错?而且,剧本本身似乎是错误的。如果代码不等于id,那么应该是false吗(如下所示)。
if (elements[i].name.substring(elements[i].name.lastIndexOf(':')) != id) {
elements[i].checked = false;
}
显然我不明白。
下面是表的facelets代码:客户端
<h:column headerText="First Name" >
<f:facet name="header"><h:outputText value="First Name" /></f:facet>
#{client.firstName}
</h:column>
<h:column headerText="Last Name" >
<f:facet name="header"><h:outputText value="Last Name" /></f:facet>
#{client.lastName}
</h:column>
<h:column headerText="Select" >
<f:facet name="header"><h:outputText value="Last Name" /></f:facet>
<h:selectOneRadio valueChangeListener="#{clientSearchBean.setSelectedItem}" >
<f:selectItem itemValue="null" />
</h:selectOneRadio>
</h:column>
<h:column headerText="Address" >
<f:facet name="header"><h:outputText value="Address" /></f:facet>
#{client.address}
</h:column>
<h:column headerText="Cell" >
<f:facet name="header"><h:outputText value="Cell" /></f:facet>
#{client.cell}
</h:column>
<h:column headerText="Phone" >
<f:facet name="header"><h:outputText value="Phone" /></f:facet>
#{client.phone}
</h:column>
</h:dataTable>
我已经尝试过(并且正在使用)<h:dataTable>
中的BalusC代码,并且工作得很好。你有两个问题:
-
您根本没有使用JavaScript函数(或代码中的JavaScript函数):
<h:column headerText="Select"> <f:facet name="header"> <h:outputText value="Last Name" /> </f:facet> <!-- you forgot to add the onclick --> <h:selectOneRadio valueChangeListener="#{clientSearchBean.setSelectedItem}" onclick="dataTableSelectOneRadio(this);"> <f:selectItem itemValue="null" /> </h:selectOneRadio> </h:column>
-
您的JavaScript代码具有
<
符号。Facelets对这个符号的使用非常严格。为了使它发挥作用,您应该在Script和Style元素中使用XMLCDATA用法:<script type="text/javascript"> //the CDATA must be used with JavaScript comments //<![CDATA[ function dataTableSelectOneRadio(radio) { var id = radio.name.substring(radio.name.lastIndexOf(':')); var elements = radio.form.elements; for (var i = 0; i < elements.length; i++) { if (elements[i].name.substring(elements[i].name.lastIndexOf(':')) == id) { elements[i].checked = false; } } radio.checked = true; } //]]> </script>
相关文章:
- 禁用旋转木马中的下一个按钮和上一个按钮
- 如何在用户返回和上一个按钮时刷新下拉列表
- 简单的垂直上一个和下一个按钮代码点击上下移动jQuery
- 如何使用一个按钮编辑和保存使用Javascript
- 在单击下一个按钮之前,在JavaScript代码中添加5秒的延迟
- 正如我所能做的引导提醒,按下一个按钮可以更改语言
- 当我的所有 Ng-from 都有效时启用一个按钮
- 一个按钮,点击后会生成一个新的文本框?-Javascript
- 我想在我的准备列表项上创建一个按钮
- JavaScript幻灯片显示,每个幻灯片的下一个按钮都有不同的位置
- 当我单击下一个或上一个按钮时,datatable显示旧值
- 制作一个按钮倒计时计时器,该计时器将在5分钟后永久禁用,即使在页面刷新时也应保持禁用状态
- 一个具有两个图像按钮的表单在只能按下一个按钮的情况下发送两个按钮值
- Jquery:如果选中了另一个按钮,则为未选中按钮
- 使文本在它之后再次可见'It’s被一个按钮隐藏了
- 传递来自<输入类型=“;文件“;id=“;文件“/>尽管还有一个按钮点击
- 为缩略图库和较大图像库添加下一个和上一个按钮
- 当滑块只有一个图像时,如何禁用下一个/上一个按钮
- 图像缩略图库中的“下一个”和“上一个”按钮中的“问题”
- 点击一个按钮,有没有一种方法可以检查Div内部的图像