元素(按钮)得到ajax响应不起作用?

时间:2012-05-29 04:08:01

标签: php ajax yii

我有一个网站来更新状态和评论 我必须从数据库列出我的所有状态和评论查询 并且我有更新它的表单更新它插入之前我使用HTML状态像状态注释按钮不起作用 我的代码是 首先是返回ajax请求的字符串

            echo '
    <div class="stbody">
        <div class="stimg">
            <img width="40" height="40" src="/images/uploads/.' . $json_data["picture"] .'">
       </div>
        <div class="sttext">' .
         "  AAAAAAA" .
        '</div>
        <a href="#" class="delete" style="display: none; "> Remove</a>

        <a href="#"id ="comment_link">Comment</a>
        <span class="icodot"> 5 comment</span>
        <span class="likelink"><a  href="" isliked="0">Like</a> 10 liked</span>
        <div id="box_comment" class="bxcomment">
            <form>
                <div id="status' . $model->status_id . '" class="rowcomment" >
                    <div class="rowcommentlt">
                        <a>
                            <img width="40" height="40" src="http://3.1.s50.avatar.zdn.vn/avatar_files/3/c/d/8/giaosudau_50_3.jpg">
                        </a>                                        
                        <textarea class ="text_area"  id="txtComment' . $model->status_id . '"></textarea>
                        <br>
                    </div> 
                    <div class="bxcmtend">
                        <span class="tipcmtend">Nhấn Shift + Enter để xuống dòng</span>
                        <span class="btncmtend">
                            <a class="comment_submit" href="#" 
                            onclick="return false;" id="' . $model->status_id . '"><em>Comment</em></a>             
                            <a onclick="return false;" rel="for_3073657831" id="emofeed_3073657831" class="emofeed" href="#" tabindex="0"></a>
                        </span>
                    </div>
                </div>
            </form>

        </div>
    </div> 

';

在接收中我有脚本来处理更新状态和更新评论 首先是处理评论

$(".comment_submit").click(function(){
    var element = $(this);
    var status_id = element.attr("id");
    var comment = $("#txtComment"+status_id).val();
    var dataString = 'comment='+ comment + '&status_id=' + status_id;
    if(comment=='')
    {
        alert("Please Enter Some Text");
    }
    else
    {

        $("#flash"+status_id).show();
        $("#flash"+status_id).fadeIn(400).html('<img src="ajax-loader.gif" align="absmiddle"> loading.....');
        $.ajax({
            type: "POST",
            url: "insertajax.php",
            data: dataString,
            cache: false,
            success: function(html){
                $("#loadplace"+Id).append(html);
                $("#flash"+Id).hide();
            }
        });
    }
    return false;
});

秒是处理更新状态

success: function(data){

                $(data).prependTo(".timeline").slideDown("slow");                                
                $(".loading").hide();
                $(".input_box").val("So what's on your mind?").css("color","#808080")
                .css("height","30px");
            }

当我收到html代码没问题但是我点击评论它不起作用。

感谢提前。 我该怎么办?我应该回复客户端json,在客户端我用html代码插入它们?

2 个答案:

答案 0 :(得分:1)

我问过一个我遇到问题的人是你应该使用的所有页面中的句柄事件.on()或live() 在这种情况下,我从$(".comment_submit").click(function(){更改为$(document).on('click', '.comment_submit', function(){

并且它有效。 谢谢你们所有人

答案 1 :(得分:0)

你是说这种反应永远不会有效吗? IN

$("#loadplace"+Id).append(html); 
$("#flash"+Id).hide(); 

“ID”未定义。这意味着响应将永远不会显示。你可能意味着status_id?