我是 jquery 新手。我的项目涉及 primefaces 4.0、jsf 2.1 (xhtml)。
我有一个全选 bool 复选框和一个使用从服务器端检索的列表填充的 selectmanycheckbox。
<p:tab title="Service Status" >
<p:selectBooleanCheckbox itemLabel="Select All"
value="#{myBean.selectAllStatus}"
id="selectAllStatus" style="margin-left:4px;" onchange="selectAllStatus(this);" >
</p:selectBooleanCheckbox>
<p:selectManyCheckbox
value="#{myBean.serviceStatusFilterList}"
layout="pageDirection" id="empListSub">
<f:param name="tabValue" value="1" />
<f:selectItems value="#{serviceCalendarViewBean.serviceStatusList}" var="status"
itemLabel="#{status.title}" itemValue="#{status.id}"/>
</p:selectManyCheckbox>
</p:tab>
</p:accordion>
单击“全选”复选框时调用的 Javascript 为
function selectAllStatus(element)
{
var selectAll = element.checked;
$( 'input[id^="'accord:empListSub'"]' ).each(function(){
this.checked=selectAll;
});
}
当我取消选中“全选”复选框时,我需要取消选中 f:selectitems 生成的所有复选框,反之亦然。
更改事件的 JavaScript 中的以下代码在控制台中给出了错误。 错误是“意外的语法错误;”
$( 'input[id^="'accord:empListSub'"]' ).each(function(){
this.checked=selectAll;
});
在网络中,javascript 代码显示为
$( 'input[id^="'accord:empListSub'"]' ).each(function(){
this.checked=selectAll;
});
我尝试删除双引号,但没有用。
有人可以帮我吗?
在 jquery 中,当我取消选中“全选”复选框时,我需要取消选中 f:selectitems 生成的所有复选框,反之亦然。
而且当我选中或取消选中任何 f:selectItems 时,它还必须调用另一个 javascript 函数。
我该怎么做?
最佳答案
问题出在组件引用上
$( 'input[name^=accord\\:empListSub]' ).each(function(i,obj){
$('div .ui-chkbox-box').addClass('ui-state-active');
$('span .ui-chkbox-icon').addClass('ui-chkbox-icon ui-icon ui-icon-check ui-c');
);
关于javascript - 调用 f :selectitems 的 Javascript 函数 onchange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25459272/