2014-10-27 138 views
1

我正在構建一個類似於「選擇您自己的冒險」類型遊戲的網站。在頁面上,會有三個不同的選擇(作爲按鈕)給用戶。當他們點擊按鈕時,jQuery和AJAX將用單獨的HTML文件中的新問題替換問題文本。所有按鈕都將被替換,並將寫入該單獨的HTML文件中。使用jQuery/AJAX替換Div內容 - 使用按鈕ID

我的問題是,我需要一種方法讓每個按鈕都有自己的ID號碼,以便當jQuery獲取請求來更改問題時,它將轉到具有匹配按鈕上ID號的新問題的特定文件。所以每個按鈕都會有一個對應於新問題的ID。

總之:有沒有辦法從點擊的按鈕中檢索ID或數據屬性,並將該信息傳遞到我的jQuery/AJAX函數?謝謝!

+1

燁有噸[使用jQuery檢索享有一定的div的編號嗎?]的 – 2014-10-27 17:51:30

+0

可能重複(http://stackoverflow.com/questions/2599971/retrieving-ids-of-chid-divs-using-jquery ) – Machavity 2014-10-27 17:54:14

回答

1

「是否有方法從點擊的按鈕中檢索ID或數據屬性,並將該信息傳遞到我的jQuery/AJAX函數中?」

有幾種方法可以做到這一點。這是最簡單的方法之一:

<div class="button" id="button1">Click Me</div> 

var clicked = ''; 

$('.button').click(function() { 
    clicked = $(this).attr('id'); 
    window.alert('You clicked: '+clicked); 
}); 

這裏有一個JSFiddle證明。

+1

非常感謝! – 2014-10-28 00:44:48

+0

當從主頁中替換內容時,該腳本第一次完美運行,但是當我嘗試用另一個按鈕再次替換該內容時,什麼也沒有發生。任何想法爲什麼它不會第二次替換內容? – 2014-10-31 16:47:31

+0

如果你還沒有弄明白這一點,用你最近的代碼發佈一個新問題,並在這裏發佈一個鏈接到新的問題來通知我。 – APAD1 2014-11-03 19:15:54

0

只需添加到上面的答案。如果您的HTML文件名稱與按鈕ID相同,則可以將其直接添加到您的AJAX請求中。

<div class="button" id="button1">Click Me</div> 

$('.button').click(function() { 
    var $this = $(this).attr('id'), 
    url = 'includes/' + $this + '.html'; // Select file url 
    $.post(url, function(data) {   
     $('#target_div').html(data).show(); // Display external file to target div 
    }); 
}); 
+0

非常感謝! – 2014-10-28 00:45:49