2017-10-13 40 views
0

不上錨越來越警報單擊爲什麼發生這種情況。如何從jQuery的點擊功能得到PHP動態ID

<td id="hovercolor"> 
    <a class="tt" style="text-decoration: 
none;color: black;" href="javascript:void(0);" id="<?php echo 
$data->id; ?>"></a> 
    <?php echo $data->title; ?> 
</td> 

腳本我使用得到警報:

<script type="text/javascript"> 
    $('#new1').click(function() { 
     alert('ok'); 
    }); 
</script> 
+3

哪裏是ID'new1'? '$ data-> id'會打印new1還是1? –

+0

你有沒有試過任何答案? –

回答

0

首先總結你在一個文檔準備語句代碼,第二,你可能希望,如果你有多個項目使用類

<script type="text/javascript"> 
    $(function(){ 
      $('.tt').click(function() { 
       alert('ok'); 
      }); 
    }) 

    </script> 
+0

你應該以附加事件處理程序被動態添加元素也可以使用'.on'方法。(從答案我認爲元素是動態的)。 –

+0

@亞歷-IonutMihai親愛的羅他沒有動態地添加元素,因此沒有必要對事件委派 – madalinivascu

0

假設你的ID是正確的,你可以使用.on()來選擇動態創建的那些元素。而且,由於該ID是動態的,你需要創建了一個獨特的類的鏈接,並使用它來代替

$('table').on('click', '.unique_link_class', function() { 
    alert('ok'); 
}); 
0

你應該改變兩件事情在你的代碼片段:

1)我相信$數據 - > id會打印一個整數值,所以我建議用class代替,這就是class="tt"

2)第二次改變會,你應該把這個函數放在document.ready裏面的jquery函數中。所以更新的jquery代碼應該是:

$(document).ready(function(){ 
    $('.tt').on('click',function(){ // Notice that I have used `on` here 
     alert(); 
    }); 
}); 
+0

就是從我的答案,你的回答有什麼區別?你使用和我使用點擊?他們做同樣的事情 – madalinivascu

+0

其實我們的答案大部分都是一樣的,但我已經詳細解釋過了,舊版本的jqeury'.click'在那裏,但現在需要使用'on'。當我讀到我正在寫答案的問題時,我不知道你已經發布了答案。當我發佈我的時候,我看到了它。 –

+0

我沒有看到點擊功能https://api.jquery.com/click/ – madalinivascu

0

使用類名而不是id。你的ID可能是整數。

<script type="text/javascript"> 
      $('.tt').click(function() { 
       alert('ok'); 
      }); 
</script>