2013-04-26 107 views
0

我一直在嘗試使用jQuery點擊事件的一個元素在PHP for循環。如何在點擊之前將計數器值傳遞給jquery。處理點擊php中的元素for循環在jquery

我的PHP代碼:

<?php $counter=0;foreach($a as $abc){$counter++;?> 
     <div id="mail_<?php echo $counter;?>" class="ma" /> 
    <?php }?> 

jQuery代碼:

$(document).ready(function(){ 
    $(".ma").click 

我怎麼會點擊jQuery的前使用此計數器變量。

+0

Before Click是什麼意思?加載本身? – 2013-04-26 07:07:15

+0

我怎麼能得到該計數器的變量值? – 2013-04-26 07:08:18

+0

parseInt(element.getAttribute('id'))?爲什麼你甚至需要這個呢? – Virus721 2013-04-26 07:10:32

回答

0

例如:全HTML代碼。只需複製,粘貼&在瀏覽器中運行。 [使用@ RafH的解決方案]

<html> 
    <head> 
     <title>jQuery Test</title> 
    <style type="text/css"> 
    div { color:blue; margin:3px; cursor:pointer; } 
    </style> 
    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script> 
    <script type="text/javascript"> 

    $(document).ready(function() { 
    $(".ma").click(function() { 
     var counter = $(this).attr('id').split('_')[1]; 
     alert("Counter ID "+counter); 
    }); 
    }); 

    </script> 
    </head> 
    <body> 
     <?php 
     for($counter=1;$counter<=10;$counter++) 
     { 
     ?> 
     <div id="mail_<?php echo $counter;?>" class="ma" />Test</div> 
     <?php 
     } 
     ?> 

    </body> 
</html> 
1

爲什麼「之前」點擊?在下面的例子中,你得到了clicked元素的計數器值。

$(".ma").on('click', function(e) { 
    var counter = $(this).attr('id').split('_')[1]; 
}); 

注意,你可以做同樣的事情,而不使用id作爲您的計數器從0開始,只是增加一個接一個。

$(".ma").on('click', function(e) { 
    var counter = $(this).index(); 
    }); 

如果需要計數器的最終值,你可以使用$(".ma").length

+0

jquery如何識別哪個元素被點擊? – 2013-04-26 07:17:00

+1

$(「.ma」)表示具有類「ma」的所有元素。在這個選擇器的click事件處理程序中,$(this)引用了當前點擊的「.ma」元素。 http://api.jquery.com/click/ – RafH 2013-04-26 07:25:14