2012-03-16 21 views
1

使用jQuery和PHP時,加載來自「give-me-more-results-below-the-div.php」的新數據時會出現問題。 我有以下'.live'工具提示,但新加載的內容的值不可用。如何使用AJAX加載div中的變量

現在,如何從新的數據獲取信息,加載在一個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'); 
     } 
    }); 
}); 
+0

請添加一些附加信息:您的瀏覽器是否請求文件'like_something.php'?成功或錯誤回調執行了嗎?您的問題是從服務器請求信息還是插入新的div?或者,也許每次有新的信息可以獲得新的數據? – Carsten 2012-03-16 23:33:58

+0

你可以將代碼發佈到'like_something.php'嗎? – 2012-03-16 23:51:49

回答

0

要解決這個問題,首先打開你的瀏覽器的請求面板,在Chrome它在開發工具「網絡」選項卡。當您點擊.like_something時,是否發送了請求?有沒有任何控制檯錯誤?如果請求已發送,請查看「響應」選項卡並查看服務器發回的內容。

此外,你可以存儲你需要在屬性請求與data- prefix發送,這樣的數據:

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

這是最有可能不是你的確切的HTML,但你得到它的工作原理。

然後你可以在jQuery的這樣retreive它:

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

我希望這有助於!

+0

非常感謝您的投入! Nathan給了我最好的方式來檢索並傳遞我需要的信息。 再次,這個地方是偉大的。感謝所有的努力! – KJS 2012-03-17 21:43:50

+0

@KJS很高興幫助:)你介意點擊我的答案旁邊的小複選標記(在向上和向下箭頭下)?這是[你如何說你的問題得到解答](http://meta.stackexchange.com/a/5235/166675)堆棧溢出,這樣人們就不會知道答案了。謝謝! – Nathan 2012-03-17 23:37:29

1

我經常ID的DIV像

<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]; 

}); 
0

仍然獲得本網站工作的竅門,但是這一個是我的結束(在彌敦道的回答張貼):

非常感謝您的投入!內森給了我最好的方式來檢索並傳遞我需要的信息。再一次,這個地方很棒。感謝所有的努力!