2014-02-06 20 views
2

我正在嘗試修改現在使用PHP和HTML的網頁。創建QUERY,需要數據顯示內部下拉

基本上我有一個生成的項目列表。取決於行長度,值可以是1或10。

在每個列表項目旁邊,我有一個「刪除」按鈕,現在我有它的工作刪除,但我需要創建一個確認對話框彈出。

一切正常,但由於某種原因,只有列表中的第一個按鈕與ID轉到我的JavaScript啓動。

從本質上講,在我的PHP循環運行後,我將在HTML頁面上有這樣的代碼行大約5次。

<input type="button" id="btnShowSimple" value="Simple Dialog" /> 

我的JavaScript看起來當點擊「btnShowSimple」的,但由於某些原因只有第一個已分配給它的功能,當它們都具有相同的ID?

+4

你不是複製ID是你嗎? – j08691

+0

@ j08691 hmm'基本上有一個帶有兩個按鈕的HTML頁面,兩個按鈕都是相同的ID,' –

+2

@ᾠῗᵲᄐᶌ - 這是一種修辭問題。 – j08691

回答

1

id s在網頁上是唯一的。如果您使用類,則可以使用該類名稱獲取所有元素。下面是使用類的一個示例:

<input type="button" class="btnShowSimple" value="Simple Dialog" /> 
1

生成唯一的ID說

$i=1; 
foreach($result as $row) { 
echo '<input type="button" class="btnShowSimple" id="dialog['.$i.']" value="Simple Dialog" />'; 
$i++; 
} 

現在使用JavaScript來看看點擊類btnShowSimple然後得到這個元素的ID,現在你可以做任何你打算做。

+0

我的意思是現在你可以顯示與它相關的對話框。 –

0

你的問題是你正在複製元素的id。 HTML標識應該是唯一的。我建議使用你的代碼來獲取你將要添加的元素的數量,然後製作id的「btnShowSimple-n」,其中n是元素的編號。

+0

好的,javascript代碼怎麼樣,我如何讓它識別類而不是ID? ... $(「#btnShowSimple」)。click(function(e)就是我正在使用的 – mathERSI

+0

向按鈕添加一個類,然後將'$(「#btnShowSimple」)'改爲'$(「。yourClassName」 )' – Jim

1

你不能有多個具有相同ID的元素。此外,它會更容易只是一個onclick屬性添加到您的按鈕,像這樣...

<input type="button" class="btnShowSimple" id="{$UniqueID}" onclick="delete_function(this);" value="Simple Dialog" /> 

那麼對於你的JavaScript ...

function delete_function(btn) { 
    //handle delete stuff here 
    var id = btn.id; //this is the unique id from the button 

    //for a confirm box 
    if(confirm("Are you sure you want to delete ID: " + id + "?")) { 
     //yep 
    } 
}