h:commandLink不能与jquery ajax一起使用

时间:2013-03-18 15:49:45

标签: jquery jsf-2 primefaces

我有primefaces数据表。数据表中的数据与h:commandLink一起创建。我用jquery ajax浏览器后退按钮开发了。 使用哈希,location.hash =“#paginator =”+ x;一切顺利,没有问题。

我的问题是。当我第一次点击链接时,链接首先不起作用。只会删除网址中的哈希值。 第二次运作。但后来浏览器后退按钮不起作用。 h:commandLink如何在点击时正常工作。

<script type="text/javascript">

    $("span.ui-paginator-page").live('click',function(e){
      var x = $(this).text();
      location.hash = "#paginator="+x;
      e.preventDefault();
    }); 

    $(document).ready(function(){
      window.onhashchange = ajaxhistory;
    });

    function ajaxhistory(){
      var wert2 = window.location.hash;
      jQuery.ajax({
        type: 'POST',
        data: myvalue, 
        success: function(myvalue){
          $('#content_data').load('index.xhtml #content_data');
          var fragment = document.getElementById('fragment');
          fragment.value = window.location.hash;
          fragment.onchange();
        }
      });  
   };
</script>   




<h:inputText id="fragment" value="#{paginatorBean.fragment}">
  <f:ajax event="change" execute="@form" listener="#{paginatorBean.processFragment}" />
</h:inputText>

<p:dataTable id="content_data" value="#{myDataBean.lazyModel}" var="item"
                             paginator="true" rows="10" 
                             paginatorPosition="bottom"
                             paginatorTemplate="  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} "  
                             rowsPerPageTemplate="5,10,15"
                             lazy="true" 
                             >  


  <p:column >
   <h:commandLink class="mybutton" value="#{item.name} #{item.autotextcomplete}"  action="#{myDataBean.goto(item.id)}"/>

  </p:column>

0 个答案:

没有答案