2011-08-26 92 views
1

我在這裏有一個jQuery的問題,我有我的網頁上的一些動態html鏈接,一旦鏈接被點擊它應該打開一個對話框使用jquery,問題是,我不知道沒有鏈接,因爲它們是通過php while循環動態生成的,所以我無法爲這些鏈接提供不同的id,並單獨針對它們,我想要一種方式以便單擊任何鏈接,即使它們都是相同的id,也應該打開一個對話框或上課。jquery對話框

讓我知道你是否希望我更具體。

謝謝

+0

對話框應該是唯一的嗎? – bevacqua

+0

不,他們都會是相同的,但所有鏈接將具有相同的ID或類 – Shaun

回答

0

如果動態生成的內容,你總是可以有一個<div>對話框內,並與.html(contents);

0

用相同的填充用同一類

$('a.your_class').click(function(){ 
    //your code for dialog 
}); 

這不會工作ID的,因爲jquery只會返回第一個結果,因爲ID在整個頁面上應該是唯一的。

的每一個環節

$('a').click(function() { 
    //your dialog here 
}); 

在特定容器鏈接

$('#container a').click(function() { 
    //your code for dialog 
}); 

只要確保該代碼需要的地方爲

$(文件)。就緒(函數( ) { //你的代碼在這裏,當頁面被加載時這將執行代碼 });

+0

,但它只是爲第一個鏈接做不爲其餘的他們我也試過jQuery的每個功能,似乎不工作太 – Shaun

+0

它會做頁面 –

+0

上的每一個鏈接,但在這種方式下,我的網頁上的所有鏈接將開始生成對話框,我不想要我想要針對具體的ID這些鏈接讓我說,,我有10個相同的ID的 – Shaun

0

查看jQuery live函數以綁定可能尚不存在的元素。

http://api.jquery.com/live

我會用活綁定到通過類名稱的鏈接。點擊鏈接時,將對話框打開並打開。類似這樣的...

$(".some_class").live("click", function(event){ 

    $(this).dialog(options); //create the dialog 
    $(this).dialog("open"); //open the dialog 
}); 
+0

yup似乎是有用的Bzink – Shaun

0

您應該將您的點擊事件綁定到與您動態生成的鏈接一致的內容。例如,如果你給你的鏈接一個「對話鏈接」類,那麼你可以爲這個特定的類做一個選擇器。

$('a.dialog-link').click(function(){ 
//Do something 
}); 

如果鏈接通過JavaScript頁面加載後動態添加到您的DOM,那麼你必須委託有現場的點擊。

$('a.dialog-link').live('click',function(){ 
//Do something 
}); 
+0

好吧!讓我試試那個ñ感謝amin .. – Shaun

0

$(foo).dialog({ autoOpen: false })

將創建對話框,並

$('a.opendialog').live('click',function() { 
    $(foo).dialog('open'); 
    return false; 
} 

將您點擊與添加到它的 「opendialog」 類中的任何鏈接,每次打開它。