这个jquery出了什么问题?

时间:2010-09-21 08:21:27

标签: php javascript jquery mysql

我的html页面上有这两个jquery脚本,其中一个加载更多结果(如分页),另一个回复用户消息,就像twitter一样!

回复工作(inserts username into textbox),当页面处于默认状态时,但是当我加载更多结果时,加载的结果会将用户名插入文本框!!这是两个脚本,

回复jquery:

function insertParamIntoField(anchor, param, field) {
       var query = anchor.search.substring(1, anchor.search.length).split('&');

       for(var i = 0, kv; i < query.length; i++) {
          kv = query[i].split('=', 2);
          if (kv[0] == param) {
            field.val(kv[1]);
             return;
          }
       }
    }


$(function () {
    $("a.reply").click(function (e) {

      insertParamIntoField(this,"status_id",$("#status_id"));
      insertParamIntoField(this,"reply_name",$("#reply_name"));
       insertParamIntoField(this, "replyto", $("#inputField"));



     $("#inputField").focus()

$("#inputField").val($("#inputField").val() + ' ');


     e.preventDefault();
       return false; // prevent default action
    });
});

loadmore jquery脚本:

$(function() {
//More Button
$('.more').live("click",function() 
{
var ID = $(this).attr("id");
if(ID)
{
$("#more"+ID).html('<img src="moreajax.gif" />');

     $.ajax({
      type: "POST",
      url: "ajax_more.php",
      data: "lastmsg="+ ID, 
      cache: false,
      success: function(html){
     $("ul.statuses").append(html);
     $("#more" + ID).remove();

        }
     });
   }
else
{
   $(".morebox").html('The End');

}


return false;


});
});

编辑:当我加载更多帖子时,我点击回复页面被引用,以便最终再次隐藏已加载的数据!!

1 个答案:

答案 0 :(得分:1)

如果回复按钮被ajax替换,这可能是一种解决方法。

$(function () {
    $("a.reply").live(click, function (e) {
      insertParamIntoField(this,"status_id",$("#status_id"));
      insertParamIntoField(this,"reply_name",$("#reply_name"));
      insertParamIntoField(this, "replyto", $("#inputField")); 
      $("#inputField").val($("#inputField").val() + ' ').focus();
      e.preventDefault();
    });
});

此外...如果status_id,reply_name,replyto info包含在您的回复按钮中,请确保在单击更多按钮后,每个回复按钮都存在这些数据。