2014-01-07 45 views
0

我現在面臨的問題是我的代碼jQuery的使用jQuery</p> <p>這裏+ PHP的負載更

<script type='text/javascript' src='jquery-1.10.2.min.js'></script> 
<script type="text/javascript"> 
$(function() { 
$(".more2").click(function() { 
    var element = $(this); 
    var msg = element.attr("id"); 

    $.ajax({ 
    type: "POST", 
     url: "insta2.php", 
     data: "lastmsg="+ encodeURIComponent(msg), 

      success:function (data) { 

       $("#morebutton").replaceWith(data); 

      } 
}); 



    return false; 
    }); 
}); 
</script> 



    <span class="more" id="morebutton"> 
    <a id="1" class="more2" title="Follow" href="#" style="color:#000"> 
       Read More 
</a> 
</span> 

,這裏是insta2.php

<?php 

if(isset($_POST['lastmsg'])) 
{ 
$a= $_POST['lastmsg']; 
$a = $a++; 
?> 
<br> 
    <span class="more" id="morebutton"> 
    <a id="<?php echo $a;?>" class="more2" title="Follow" href="#" style="color:#000"> 
    <?php echo $a;?>   Read More 
</a> </span> 
<?php }?> 

我jQuery的只有一個1套和之後,每次點擊不起作用

有什麼方法可以繼續計數?

這樣

更多 1閱讀更多 2閱讀更多 3閱讀更多 4更多 等等...

回答

0

你ajaxed內容不具備的jQuery添加監聽到它。基本上,你的jQuery只能運行在你原來的HTML上。

您可以使用.on()函數將您的點擊事件綁定到始終在頁面上的元素,並使用selector參數來定義您的更多鏈接。 (請閱讀jQuery手冊瞭解更多信息)。

如:

$('body').on('click', 'span.more', function(){ 
    // Do your ajax stuff 
}); 

這將click事件綁定到你的身體,而不是「span.more」,將適用於任何span.more加入到身體。

編輯 - JS小提琴:

http://jsfiddle.net/g8G83/

+0

現在它的劑量不工作 – madman

+0

檢查我的回答對JS小提琴。 – Scopey

0
<span id="more"> 
    <a id="1" class="more2" title="Follow" href="#" style="color:#000"> 
     Read More 
    </a> 
</span> 
<script src="http://code.jquery.com/jquery-1.9.1.js"></script> 
<script type="text/javascript"> 
    $(function() { 
     $(".more2").click(function readmore() { 
      var element = $(this); 
      var msg = element.attr("id"); 
      $.ajax({ 
      type: "POST", 
       url: "insta2.php", 
       data: "lastmsg="+ encodeURIComponent(msg), 

        success:function (data) { 
         $("#more").append(data); 
         $(".more2").off("click"); 
         $(".more2").on("click",readmore); 
        } 
      }); 
      return false; 
     }); 
    }); 
</script>