如何在使用AJAX加载的div中获取变量

时间:2012-03-16 23:24:30

标签: php ajax jquery

在使用jQuery和PHP时,从“给我更多结果 - 在div.php下面”加载新数据会出现问题。 我的工具提示在下面使用'.live',但新加载的内容的值不可用。

现在,如何从新数据中获取信息,加载到div中,但(自然地)没有显示在页面代码中? : - )

如您所见,我只需要传递三个变量:main_memberID,like_section和like_id。

我在这里很丢失。所以任何帮助都非常感谢。

到目前为止,我在jQuery功能部分得到了这个:

$(".ClassToLike img[title]").live('hover', function() { 
    $('.ClassToLike img[title]').tooltip({ position: 'center left', offset: [0, -2], delay: 0 })
});

$('.like_something').live("click", function (event) {
    var value = $(this).attr ( "id" ); 

    $(this).attr({
        src: '/img/icons/checked.gif',
    }); 

    $(".tooltip").live().html('you like ' + this.name);

    $.ajax({
        type : 'POST',
        url : 'like_something.php',
        dataType : 'json',
        data: {
            main_memberID: $('#main_memberID').val(), 
            like_section: $('#like_section').val(),
            like_id: this.id,
        },
        success: function(){ //alert( 'You have just clicked '+event.target.id+' image');
        },  
        error: function(){
          alert('failure');
        }
    });
});

3 个答案:

答案 0 :(得分:1)

我经常喜欢

<div class="like_something" id="div_memberID_sectionName_anotherID"/>

然后

$('.like_something').live('click',function(){
     var info = $(this).attr('id'); // get the id
     var infoArr = info.split('_'); // split the id into an array using the underscore

     // retrieve your values
     var memberID = infoArr[1];
     var sectionName = infoArr[2];
     var id = infoArr[3];

});

答案 1 :(得分:0)

要解决此问题,首先打开浏览器的请求面板,在Chrome中,它是开发工具中的“网络”标签。点击.like_something时,是否发送了请求?是否有任何控制台错误?如果发送了请求,请查看“响应”选项卡,查看服务器发回的内容。

此外,您可以将需要与请求一起发送的数据存储在data- prefix的属性中,如下所示:

<a href="#" class="like_something" data-section="section" data-member-id="Member id">
...
</a>

这很可能不是您的确切HTML,但您了解其工作原理。

然后你可以像这样在jQuery中检索它:

data: {
    main_memberID: $(this).attr('data-member-id'),
    like_section: $(this).attr('data-section'),
    like_id: this.id,
},

我希望这有帮助!

答案 2 :(得分:0)

仍然在这个网站上工作,但这个是我的结束(根据内森的回答):

非常感谢大家的投入!内森给了我最好的方法来检索和传递我需要的信息。再次,这个地方很棒。感谢您的所有努力!