所有由JQuery选择的Primefaces复选框都不能正常工作

Primefaces checkboxes selected all by JQuery not working properly

本文关键字:常工作 工作 都不能 复选框 JQuery 选择 Primefaces      更新时间:2023-09-26

我使用JQuery来选择一组复选框…视觉效果很好。第一次,所有的支票都是真实的。但是,如果我选择全部,再次单击以取消全部选择,然后再次选择全部,当我提交表单时,对于JSF,它们都被计算为false。


function selectAllByClass(checkAll , classeCheckbox) {
var checked = checkAll.checked;
//to change the checked attribute                
$('div.' + classeCheckbox + ' input[type=checkbox]').attr('checked',
        checked);
if (checked) {
    $('div.' + classeCheckbox + ' > div.ui-chkbox-box').each(function() {
        $(this).addClass('ui-state-active');
        $(this).children('span').addClass('ui-icon ui-icon-check');
    });
} else {
    $('div.' + classeCheckbox + ' > div.ui-chkbox-box').each(function() {
        $(this).removeClass('ui-state-active');
        $(this).children('span').removeClass('ui-icon ui-icon-check');
    });
}

}


<p:outputPanel
                    id="parcelasPanel"
                    deferred="true"
                    deferredMode="visible"
                    delay="10"
                    styleClass="togglePanelEscondido escondido">
                    <p:dataTable styleClass="tabela_sgi"
                        value="#{cobranca.parcelas}"
                        var="parcela">
                        <p:column
                            headerText="Nº do Boleto(s)"
                            styleClass="alinhar_centro">
                            <h:outputText value="#{parcela.numeroBoleto}" />
                        </p:column>
                        <p:column
                            headerText="Nº Parcela(s)"
                            styleClass="alinhar_centro">
                            <h:outputText value="#{parcela.numeroParcela}/#{cobranca.quantidadeParcelas}" />
                        </p:column>
                        <p:column
                            headerText="Nº Reemissões"
                            styleClass="alinhar_centro">
                            <h:outputText value="#{parcela.numeroReemissoes}" />
                        </p:column>
                        <p:column
                            headerText="Vencimento"
                            styleClass="alinhar_centro">
                            <h:outputText value="#{parcela.dataVencimento}">
                                <f:convertDateTime />
                            </h:outputText>
                        </p:column>
                        <p:column
                            headerText="Valor"
                            styleClass="alinhar_direita">
                            <h:outputText value="#{parcela.valor}">
                                <f:convertNumber
                                    type="currency"
                                    currencyCode="BRL" />
                            </h:outputText>
                        </p:column>
                        <p:column
                            headerText="Valor Atualizado"
                            styleClass="alinhar_direita">
                            <h:outputText value="#{parcela.valorAtualizado}">
                                <f:convertNumber
                                    type="currency"
                                    currencyCode="BRL" />
                            </h:outputText>
                        </p:column>
                        <p:column
                            headerText="Situação"
                            styleClass="alinhar_centro tamanho_col_situacao">
                            <h:outputText value="#{parcela.situacao}" styleClass="bold" />
                        </p:column>
                        <p:column
                            headerText="Negociar"
                            styleClass="alinhar_centro tamanho_col_negocias">
                            <p:selectBooleanCheckbox
                                value="#{negociacaoBaseBean.parcelasSelecionadas[parcela]}"
                                disabled="#{!negociacaoBaseBean.tipoNegociacaoSelecionado.aceitaParcelas or (negociacaoBaseBean.tipoNegociacaoSelecionado.eReemissaoENaoPodeReemitir(parcela.podeReemitir))}"
                                styleClass="#{negociacaoBaseBean.tipoNegociacaoSelecionado.aceitaParcelas and !(negociacaoBaseBean.tipoNegociacaoSelecionado.eReemissaoENaoPodeReemitir(parcela.podeReemitir))?'selecionaParcelaOn':'selecionaParcelaOff'}">
                            </p:selectBooleanCheckbox>
                        </p:column>
                    </p:dataTable>

                </p:outputPanel>

prop()代替attr()。您需要更改元素的实际属性,而不仅仅是属性。