Php jQuery在帖子中第二次回复后停止工作

Php jQuery在帖子中第二次回复后停止工作,php,jquery,Php,Jquery,我有像Facebook这样的php评论系统,用户可以在这里发表评论和回复。当我在一条评论中一个接一个地回复两条时,我不能在同一条评论中回复第三条。此外,此处无法使用表情符号滑动和上载切换。但是可以回复别人的评论。我无法理解这种jQuery行为!!!我也不明白,php会造成这种问题吗 对于表情显示,我在textarea后面创建了一个查看窗口,并使我的textarea透明。所以这里我使用了jQuery bind()。所有评论和回复均由AJAX提交 当我第三次回复时,它在同一条评论中不起作用。但在刷新

我有像Facebook这样的php评论系统,用户可以在这里发表评论和回复。当我在一条评论中一个接一个地回复两条时,我不能在同一条评论中回复第三条。此外,此处无法使用表情符号滑动和上载切换。但是可以回复别人的评论。我无法理解这种jQuery行为!!!我也不明白,php会造成这种问题吗

对于表情显示,我在textarea后面创建了一个查看窗口,并使我的textarea透明。所以这里我使用了jQuery bind()。所有评论和回复均由AJAX提交


当我第三次回复时,它在同一条评论中不起作用。但在刷新其工作后,仅回复2次以上

以下是一些相关的jQuery:

$('.maintbox').on('keyup',function() {
    $(this).css('height','auto');
    $(this).css('height',Math.max(this.scrollHeight)+'px');
});
$('.replycom').livequery("click",function() {
    var VID = $(this).attr('id').replace('replycom','');
    $("#parent_id").attr("value", VID);
    $("#replycom"+VID).bind("keyup", function() {
       $("#replycom"+VID).html($(this).val());
       $(".review"+VID).html(smilyMe($("#replycom"+VID).val()));
    });
    return false;
}); 
$('.showhide_emobox').livequery("click",function(){
    var EID = $(this).attr("id");
    $("#emobox"+EID).slideToggle();
});
$(".embtno").livequery("click",function(event){
    var emotiText = $(event.target).attr("alt");
    var EID = $(this).attr('id').replace('','');
    var prevMsg = $("#replycom"+EID).val();
    $("#replycom"+EID).val(prevMsg + emotiText);
    $(".review"+EID).html(smilyMe($("#replycom"+EID).val()));
    $('#emobox'+EID).fadeToggle();
});
我的表格:

echo'<div class="replyform"><ul>
<form action="" method="post" class="repfrm'.$rows['id'].'" id="prepfrm">
<fieldset id="cmntfs">
    <input type="hidden" name="username" id="author" value="'.$_SESSION['username'].'"/>
    <input type="hidden" name="url" id="url" value="" />
    <div class="maintbox">
       <div class="chat">
           <div class="review'.$rows['id'].'" id="review"></div>
       <textarea name="replycom" id="replycom'.$rows['id'].'" class="replycom" placeholder="Type your comment ..."></textarea>
       </div>       
           <div align="right"><img src="images/envlop.png" width="25" alt="" class="uploadReply" id="'.$rows['id'].'" style="padding:2px;cursor:pointer;" />
               <div class="em">
               <img src="images/smile.png" id="'.$rows['id'].'" class="showhide_emobox"/>
                  <div id="emobox'.$rows['id'].'" class="emobox">
                  <img src="smilies/smile.gif" alt=":)" class="embtno" id="'.$rows['id'].'" />
                  <img src="smilies/sad.gif" alt=":(" class="embtno" id="'.$rows['id'].'" />
                  <img src="smilies/biggrin.gif" alt=":-D" class="embtno" id="'.$rows['id'].'" />
                 </div>
              </div>
          </div>
    <input type="hidden" name="parent_id" id="parent_id" value="'.$rows['id'].'" />
    <input type="hidden" name="tutid" id="tutid" value="'.$tutid.'" />
    </form>
    // Image upload system here
   </div>
    <button type="submit" name="submit" value="" id="repl'.$rows['id'].'" class="replyfrm">Post Reply</button>
    </fieldset>
</ul></div>';
echo'
    //图片上传系统在这里 回复后
';
您正在使用:

 $("#replycom"+VID)

同一名称只能有一个id。您的第一个回复获得唯一id,第二个回复获得重复,代码停止工作。

我不完全理解您的问题试图传达的问题,但这听起来像是一个事件委派问题:当我第三次回复时,它在同一条评论中不起作用。但在刷新其工作以获得更多的回复2,而不是第3个。@Rorymcrossan它现在的工作是更改.bind as.live。非常感谢。没问题,很高兴能帮上忙。先生,您能告诉我更多细节吗。如何按照您在“我的代码”中所说的更改它。@Marek OP正在将一个值(
VID
)连接到id,使其唯一。但你走对了!