[英]JSF DataTable Select One Row Using Radio Button
I am using JSF 1.1 and I have a ice:datatable with rows getting fetched from backing bean. 我正在使用JSF 1.1,并且有一个ice:datatable,其中的行是从backing bean中获取的。 To select the row for editing I have a radio button for that row.
要选择要编辑的行,我对该行有一个单选按钮。 When I select the row using the radio button I am getting the following error.
使用单选按钮选择行时,出现以下错误。
radio.name is undefined
In my page I am calling the javascript as follows 在我的页面中,我按如下方式调用javascript
<h:selectOneRadio styleClass="none" valueChangeListener="#{bean.setSelectedItem}"
onclick="dataTableSelectOneRadio(this);">
<f:selectItem itemValue="null" />
</h:selectOneRadio>
Any my javascript function 任何我的JavaScript函数
function dataTableSelectOneRadio(radio) {
var id = radio.name.substring(radio.name.lastIndexOf(':'));
var el = radio.form.elements;
for (var i = 0; i < el.length; i++) {
if (el[i].name.substring(el[i].name.lastIndexOf(':')) == id) {
el[i].checked = false;
}
}
radio.checked = true;
}
How can I resolve this error? 如何解决此错误?
Thanks 谢谢
Apparently IceFaces doesn't generate name
attribute for the radio button or doesn't put onclick
on the generated <input type="radio">
element. 显然ICEfaces的不生成
name
单选按钮属性或不投入onclick
所生成的<input type="radio">
元素。 Try using id
instead. 尝试改用
id
。 Replace radio.name
in JavaScript code by radio.id
. 用
radio.name
替换JavaScript代码中的radio.id
。 If in vain, you need to check the generated HTML output (open page in browser, rightclick and View Source ) and alter the JS code accordingly. 如果徒劳,则需要检查生成的HTML输出(在浏览器中打开页面,右键单击并查看Source ),并相应地更改JS代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.