将数据加载到当前div中

时间:2013-07-19 08:01:27

标签: php jquery

我有两个div,当点击一个时,它会清空div。我希望能够在清空后将数据加载到该div中。我已经得到它,所以它加载两者,但我只想将数据加载到已被清空的div中。

HTML(我有两个)

<div class="fl person">
    <div class="maintain_size">
        <input type="hidden" name="userSaved" value="<?php echo $user_one['id']; ?>" />
            <img src="<?php echo "http://graph.facebook.com/".$user_one['id']."/picture?type=large"; ?>" class="circle-mask"  />
            <img class="hoverimage" src="images/fire_extinguisher.png" />
            <div class="meta_data">
                <h2><?php echo $user_one['name']; ?></h2>
            </div>
    </div>
</div>

的Javascript

<script>
$("div.person img").click(function () {
        $(this).parent("div").fadeOut(1000, function () {
        var saved_id_user_who_voted_val = "<?php echo $_SESSION['id']; ?>";
        var saved_id_user_voted_on_val = $(this).parent('div').find('input:hidden');
        var saved_id_user_voted_on_val = saved_id_user_voted_on_val.val();

        $(this).parent("div").empty();

        // Load in new data
        var current_div = $(this).parent("div");
        $.get('loadNewUser.php', function(data) {
          current_div.html(data);
        });
    });
});
</script>

如果我选择一个不是当前的div,或者我只是使用一个警报来查看数据是否存在 - 数据似乎很好 - 但是如果我尝试将数据加载到当前div它只是不起作用。有任何想法吗?感谢。

我认为错误的代码:

$.get('loadNewUser.php', function(data) {
      current_div.html(data);
});

编辑:我试图获取数据的div是:div.person - 尽管有2个。

3 个答案:

答案 0 :(得分:1)

一旦你清空div,你的'this'就不再存在了。在空闲之前尝试声明var current_div。

var current_div = $(this).parent("div");
current_div.empty();
$.get('loadNewUser.php', function(data) {
      current_div.html(data);
});

请参阅fiddle

答案 1 :(得分:0)

您需要在使用新内容替换旧内容时委派活动

$(document.body).on('click',"div.person img",function () {

答案 2 :(得分:0)

使用live()函数 实施例

$("div.person img").live("click",function () {
//Your code goes here
});