0

我一直在尝试将 jquery click 事件与 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 之前如何使用此计数器变量。

4

2 回答 2

1

为什么“之前”点击?在以下示例中,您将获取单击元素的计数器值。

$(".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

于 2013-04-26T07:12:06.213 回答
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>
于 2013-04-26T08:18:27.190 回答