1

我正在尝试使用 iCheck 复选框来美化我的正常复选框。代码中的ajax动作触发了后端部分数据的重新计算,并为前端获取新数据。之后重新渲染 html 以显示新数据。这部分已经在使用普通复选框。添加 iCheck 时它仍然有效,但有时重新渲染会导致显示旧的 html。有时它第一次起作用,但通常我需要检查该框 2 次。当第一次点击失败时,当我第二次触发它时它总是有效。我想不通,为什么会这样。它不是关于单击复选框太快。我已经检查过了。

继承人的代码:

<tr class="abc">
    <td class="description">
        <div class="foo">
            <div class="form-item-checkbox clearfix">
                <h:selectBooleanCheckbox id="checkboxid"
                    styleClass="form-checkbox" value="#{valueToInitializeFromBackend}">
                    <f:ajax event="click" render="@none" execute="@this"
                        listener="#{action.ajax(ciid,'setStuffInBEAndRerenderFE')}" />
                </h:selectBooleanCheckbox>
            </div>
        </div>
    </td>
</tr>


 $(document).ready(function(){
   var bar = $('.bar');
                var abc = $('.abc');

                abc.find('.foo input')
                        .on('ifChecked', function () {
                            $(this).click();
                        })
                        .on('ifUnchecked', function () {
                            $(this).click();
                        });            
 });




 $(document).ready(function(){
        $('input').iCheck({
        checkboxClass   : 'form-checkbox',
        radioClass      : 'form-radio'
        });

        $('button[type="reset"]').click(function(){
            $(this).closest('form').find('input').iCheck('uncheck');
        });
});
4

0 回答 0