如何保持Primefaces DataTable中的checkBox选择以及在JQuery函数中使用的分页?

时间:2015-10-19 12:59:44

标签: jquery primefaces datatable

我有一个错误需要解决,我很困惑,我们有一个页面,可能会打开一个带有Primefaces多选数据表的对话框,在用户选择了他想要的值后,有一个" ok&#34 ;将文字值转换为标记并将它们全部放在Primefaces文本编辑器组件中的按钮。问题是,当分页发生时,前一页的选择将丢失。

我已经在Datatable中使用过多选,但是在这种特殊情况下,由于Jquery函数执行了将标记放在文本编辑器中的所有过程,我们没有使用多选作为Primefaces展示提示。因此,列表中指出了"选择"从不设置数据表的属性。

我想我必须找到一种方法来保持使用JQuery的选择,但我并不擅长,所以我在这里寻求你的帮助。

这里有相关的相关代码:

<p:dataTable id="tagsTable" var="tag"
  value="#{MB.tagList}" rowKey="#{tag.tag.id}"
  rows="10" selection="#{MB.tagsSelected}"
  rowsPerPageTemplate="5,10" paginator="true">

   <p:column style="width:50px; white-space: pre-wrap;">
   <p:selectBooleanCheckbox id="tagCheckbox" value="#{tag.checked}" />
   <input type="hidden" id="tagHidden" value="#{tag.tag.tag}" />
  </p:column>

这里的功能是:

        <script>
            function useTags(){
                var checks = $( "#formTag\\:tagsTable input:checked" );
                if (checks.length == 0 ) {
                    alert('Show MSG...');
                    return;
                }
                $.each(checks , function( key, value ) {
                    var $div = $(value).parent().parent().parent(); 
                    var stringToInsert = '<input type="button" value="' + $div.find('input')[1].value + '" disabled="disabled"/>';
                    $('#mainForm\\:editor_input').cleditor()[0].execCommand('inserthtml',stringToInsert);
                });
                dlgSearchTag.hide();
            }
        </script>

0 个答案:

没有答案