【问题标题】:Primefaces checkboxes selected all by JQuery not working properly全部由 JQuery 选中的 Primefaces 复选框无法正常工作
【发布时间】:2015-11-21 23:24:37
【问题描述】:

我正在使用 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>

【问题讨论】:

    标签: javascript jquery jsf jsf-2 primefaces


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-29
      • 2017-04-04
      • 1970-01-01
      • 2010-12-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多