我正在使用dataTableSelectOneRadio取消其他复选框并启用单选。它在h:datatable中运行良好,当我迁移到p:datatable时,它开始允许在每个页面中进行一次选择,但我只想选择一个完整行的选择。
<p:datatable var="countryLangObj" value="#{countryBean.countryLanguageList}" rows="5" paginator="true">
<p:column headerText="Default" styleClass="default">
<h:selectBooleanCheckbox id="checkBox" value="#{countryLangObj.isDefaultLanguage}" onclick="dataTableSelectOneRadio(this);" />
</p:column>
</p:datatable>
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;
}