2017-07-04 111 views
3

我有一個遠程循環,它檢查數字並將結果輸出到數字。給for循環中的每個元素賦予不同的ID

例如,在下圖中,「剪切圖像」以倍數顯示。我在遠端循環中有標籤,因此它根據次數輸出圖像。這個數字來自數據庫。

MY Question。 很明顯,第一行的所有圖像都會有相同的ID。目前用戶只能點擊該行的第一張圖片。如果可能的話,我想給每個元素不同的ID。比我想用JQuery添加點擊事件。所以如果我點擊第一行的第四張圖片,它會提示消息,如果我點擊第五張圖片,它會顯示不同的提醒消息。

如何在遠程循環中爲每個元素分配不同的ID,因此它只會使第一個圖像可點擊,而不是所有元素都可點擊。

enter image description here

我的循環

<table class="table table-bordered"> 
    <thead> 
    <tbody> 
     <tr> 
     <?php 
     for($x=0; $x < $row['noof10s_vnr']; $x++){ 
      ?> 

      <td><img alt="" class="yellow-process center-block " id ="cut-full-roll-<?php echo $row['id_vnr']; ?>" name="<?php echo $row['id_vnr']; ?>" src="../../css/icons/vinyl-rolls/cut.png"></td> 
     <?php 
     } 
     ?> 

     </tr> 
    </tbody> 
    </table> 

我jQuery選擇 如果我可以給每一個元素不同的ID,比我可以做這樣的事情,以增加點擊的事件,點擊圖像。

jQuery("#vinyl-roll-down-<?php echo $row['id_vnr']; ?>").click(function() { 

但我需要幫助分配不同的獨特的每個元素在遙遠的循環。

在此先感謝。

+0

戴上類單擊處理程序,然後進入'$(這)'來獲得細節點擊圖片 –

+0

看起來你的循環是不正確的。對於一些示例數據會很有幫助。就像'noof10s_vnr'是什麼,以及該行是什麼。你的循環只是一遍又一遍地輸出同一行。你已經有了一個id,那就是$ x。你每次增加它,所以只是使用它? – Alx101

+0

那會很好。但目前,每行的第一張圖片是可點擊的。單行中的所有圖像都具有相同的ID,因此只有第一個可點擊。我想給連續的每個元素賦予不同的唯一ID,比我可以添加一個點擊事件 –

回答

3

我認爲你的PHP循環是可以的。 問題在於你的jQuery,嘗試使用使用屬性 選擇器attr("id")來獲得正確的ID。

jQuery(".yellow-process").click(function() { 
    var selected = jQuery(this).attr("id"); 
    alert(selected); // to show the selected image id 
    // use the variable selected to do something with it. 
} 

嘗試此jQuery代碼後,您可以提前使用它。

0

你可以試試這個

在HTML:

<table class="table table-bordered"> 
    <thead> 
    <tbody> 
    <tr> 
     <?php 
     for($x=0; $x < $row['noof10s_vnr']; $x++){ 
     ?> 
     <td><img id="image{{$x}}" alt="" class="yellow-process center-block " onclick="imageClick(<?php echo $row['id_vnr']; ?>)" name="<?php echo $row['id_vnr']; ?>" src="../../css/icons/vinyl-rolls/cut.png"></td> 
     <?php 
     } 
     ?> 

    </tr> 
    </tbody> 
</table> 

jQuery中

function imageClick(id) { 
    alert(id); 
    var imageId = jQuery(this).attr("id"); 
    alert(imageId); 
// your code 
} 

我大腿它會幫助你的。

+0

謝謝Binhudatta Sahoo。我喜歡這種方法。有沒有什麼辦法來區分每個元素。目前,如果我點擊第一行中的任何圖像,它將顯示相同的ID。我想現在以不同的方式處理每個圖像。 –

+0

是的@Muhammad Ikram你可以做到這一點,只需嘗試一次編輯的答案。 –

-2
$(".yellow-process").bind("click",function() { 
    var selected = $(this).attr("id"); 
    alert(selected); // to show the selected image id 
    // use the variable selected to do something with it. 
}); 

寫在正確的方式你的PHP代碼,並如預期只是上面jQuery的工作是工作代碼

相關問題