如何创建追加动态选择器?

时间:2017-03-08 09:58:29

标签: javascript php jquery html css

大家好我需要将数据附加到div,我不能动态div看看这段代码

<li  class="media_comment'+$post_id+'"></li>

现在post_id是一个动态值,我加入了我的班级

现在我需要将一些数据附加到此

 $(.media_comment).append('<li class=" media-top"><?php echo img($user_file_image); ?> <p>'+comment +'</p> <br><a href="#">Like</a> · <a href="#">Reply</a> </li>');

我在append函数中也有相同的变量post_id avialable。但是值是在一个循环中,我只需要在li中附加相同的post_id传递的li,这会将相同的数据发布到每个li,那么我可以做些什么来设计动态选择器? 是可以这样做还是我应该尝试另一种方法?

$(window).load(function(e){
    // grab the scroll amount and the window height
       loadmore();
       select_likes();

       select_share();
       // get_recieve_friend_requests();
       // get_sent_friend_requests();
    });

 function loadmore(){
          var lastID = $('.load-more').attr('lastID');
          alert(lastID);

              jQuery.ajax({
                  type:'POST',

                  url:'<?php echo base_url("user/get_all_post"); ?>',
                   data: {id:  lastID },
                      dataType: 'json', 


                  beforeSend:function(data){
                      $('.load-more').show();
                  },
                  success:function(data){

                         var ParsedObject = JSON.stringify(data);            
                         var json = $.parseJSON(ParsedObject);


                         if (json=="") {
                          $("#bottom").append('<div class="btn btn-default col-md-6" >'+'No More Results'+'</div>');
                          $("#Load_more_data").hide();

                         }else{

                           $postID=json[json.length-1].id;

              $('.load-more').attr('lastID', $postID);

                $.each(json, function (key, data) {


   var post_id=data.id;

    // alert(data_id);
    var post_status=data.status;
     var status_image=data.status_image;
    var multimage=data.multimage;

                             if(!post_status=="" && !status_image==""){
                              alert(post_id);
                               $("#status_data").append('<div class="panel-footer "  onload="select_comment('+post_id+');"><div class="row"><div class="col-md-12"><a href="#">13 people</a> like this</div></div><ul class="media-list"><li  class="media_comment" id="comment_div'+post_id+'"></li><li class="media"><div class="media-left media-top"><?php echo img($user_file_image); ?></div><div class="media-body"><div class="input-group"><form action="" id="form_content_image"><textarea name="textdata" id="content_comment_image" cols="25" rows="1"  class="form-control message"  placeholder="Whats on your mind ?"></textarea><button type="submit" id="comment_button_image" onclick="comment_here_image('+post_id+');">Comment</button></form></div></div></li></ul></div></div>');
                             } 
                        });
                  }
              }
            });
          }
function select_comment(post_id)
{

  // alert(post_id);
  var Post_id=post_id;
  var User_id = $('.id_data').attr('value');
 jQuery.ajax({
                  type:'POST',
                  url:'<?php echo base_url("user/select_comment"); ?>',
                  data: {Post_id:Post_id,User_id:User_id},
                  dataType: 'json', 
                  success:function(data)
                  {
                    var ParsedObject = JSON.stringify(data);            
                         var json = $.parseJSON(ParsedObject);
                         $.each(json, function (key, data) {
                          var comment=data.comment;
                          var post_id=data.post_id;
                          $post_id=post_id;
                          $("#comment_post_id").attr('value',$post_id);
                             $(#comment_div).append('<li class=" media-top"><?php echo img($user_file_image); ?> <p>'+comment +'</p> <br><a href="#">Like</a> · <a href="#">Reply</a> </li>');
                  });
                }
          });

}

这是循环。

1 个答案:

答案 0 :(得分:1)

更新:(尝试沿着这一行更新循环...)

success:function(data)
{
  var ParsedObject = JSON.stringify(data);            
       var json = $.parseJSON(ParsedObject);
       $.each(json, function (key, data) {
        var comment=data.comment;
        var post_id=data.post_id;
        var mediaID = '.media_comment' + post_id;
        $( mediaID ).append('<li class=" media-top"><?php echo img($user_file_image); ?> <p>'+comment +'</p> <br><a href="#">Like</a> · <a href="#">Reply</a> </li>');

});

当你循环json对象时尝试插入这样的东西,如果那个代码是在php端的那个..

$sel = ".media_comment$post_id";
$img = img($user_file_image);
$com = $comment;

echo "$($sel).append('<li class='media-top'>$img <p>$com</p> <br><a href='#'>Like</a><a href='#'>Reply</a> </li>');";