2013-02-22 74 views
0

我想讓我的jquery對話框打開幾個不同的按鈕。我有一個叫做點擊的facebook ui feed(我想在對話框中有這個,但這是另一個故事)。它只開放一個按鈕(第一個按鈕出現在我的HTML)。下面是代碼:打開多個按鈕的JQuery對話框?

<script> 
$(function() { 
    $("#dialog-modal").dialog({autoOpen: false, resizable: false, draggable: false, height: 250, width: 500, modal: true, dialogCLass: 'main-dialog-class'}); 

    $("#opener").click(function() { 
         $("#dialog-modal").dialog("open"); 

         $.getJSON(
           "/like_artist.php", // The server URL 
           { artist_id : $(this).data('artist_id') }, // Data you want to pass to the server. 
           function(json) { 

           var artist = json[1]; 

            var text = ''; 
            text = ' ' + artist ; 


            FB.ui({ 
            method: 'feed', 
            // redirect_uri: '/index.php', 
            link: 'WEBPAGE', 
            name: '', 
            caption: '', 
            description: '' 

            }); 


            $('#dialog-modal').text(text); 

            alert(artist); 
           }// The function to call on completion. 
           ); 

     }); 

    }); 

</script> 

的按鈕:

<button type="button" id="opener" data-artist_id="3">Play My City</button> 

<button type="button" id="opener" data-artist_id="4">Play My City</button> 

<button type="button" id="opener" data-artist_id="2">Play My City</button> 

等等

謝謝您的幫助!

+1

這是無效的有與HTML相同ID的多個元素。我猜jQuery使用'document.getElementById()'來匹配'#opener',它只返回其中的一個。改爲使用'class ='opener''和'$('。opener')'。 – millimoose 2013-02-22 21:42:22

+0

當我用$('。opener')代替$(「#opener」)時,它們都沒有打開 – user1072337 2013-02-22 22:05:06

+0

nm,這個工作,謝謝! – user1072337 2013-02-22 22:19:41

回答

0

改變所有id="opener"class="opener"

,然後改變你的js $("#opener").click$(".opener").click

+0

這不適合我 – JanBorup 2013-03-08 12:16:45

相關問題