【发布时间】:2014-09-22 09:11:27
【问题描述】:
我想知道如何使用 javascript 根据 p:selectManyCheckbox 检查 f:items 值。
我所做的是 Xhtml
<p:selectBooleanCheckbox itemLabel="Select All" onchange="changeSelectAllStatus(this);"
value="#{myBean.selectAllStatus}"
id="selectAllStatus" style="margin-left:4px;" >
</p:selectBooleanCheckbox>
<p:selectManyCheckbox onchange="changeServiceStatus(this);"
styleClass="servicestatusstyle"
value="#{myBean.serviceStatusFilterList}"
layout="pageDirection" id="empListSub">
<f:param name="tabValue" value="1" />
<f:selectItems value="#{myBean.serviceStatusList}" var="status"
itemLabel="#{status.title}" itemValue="#{status.id}"/>
</p:selectManyCheckbox>
生成的html是
Javascript
function changeSelectAllStatus(element)
{
var selectAll = element.checked;
var serviceStatusChildNodes = document.getElementById("accord:empListSub").getElementsByTagName('input');
for ( var i in serviceStatusChildNodes ) {
if ( serviceStatusChildNodes[i].type=='checkbox' ) {
serviceStatusChildNodes[i].checked = selectAll;
}
}
if(selectAll)
{
selectAllStatusArray = selectAll;
}
else
{
selectAllStatusArray = selectAll;
}
}
我的问题是当“全选”被选中时,f:items 选中的值被设置为 true,但在用户界面中它没有被选中。 谁能指出我哪里出错了?
【问题讨论】:
标签: javascript primefaces