代码之家  ›  专栏  ›  技术社区  ›  Steven Baltay

使用单元格值作为参数将javascript函数应用于表的每一行?

  •  1
  • Steven Baltay  · 技术社区  · 13 年前

    我有一个表(从php数组生成),它显示了用户当前的拍卖。此表的其中一列显示拍卖中剩余的时间。我正在使用一个jquery倒计时插件( http://www.keith-wood.name/countdown.html )这使得剩余时间倒计时为零。

    如何使用不同的剩余时间将倒计时功能应用于每一行?

    $(function () {
        $('#countdown').countdown({until: +remainingTime, format: 'HMS', compact: true});
    });
    

    我正在尝试,但似乎不起作用:

     foreach($tradePile['auctionInfo'] as $auction)
     {                      
         if ($auction['tradeState'] == "active")
         {
            $i++;
            echo '<tr>';
            echo '<td><a href="player.php?id='.$auction['itemData']['resourceId']. '">'.$stats['first_name'].' '.$stats['last_name'].'</a></td>';
            echo'<td>'.$auction['itemData']['rating'].'</td>';
            echo'<td>'.$buyNowPrice.'</td>';
            echo'<td>'.$auction['startingBid'].'</td>'; 
            //remaining time for each auction:
            //$auction['expires']
            ?>
            <td>
               <script>$(function () {$('#countdown<?php echo $i; ?>').countdown({until: +<?php echo $auction['expires'] ?>, format: 'HMS', compact: true});});</script>
               <div id="countdown<?php echo $i; ?>"></div>
            </td>
            <?php
            echo'</tr>';
         }
    }
    
    1 回复  |  直到 13 年前
        1
  •  1
  •   sdespont    13 年前

    使用each循环遍历所有表行。 不要用PHP编写JS脚本。

    创建这样的表结构,用增量定义id i 变量:

    <table id="myTable">
        <tr id="1" expire="55">
        <td id="countdown-1">....</td>
            ...
        </tr>
    </table>
    

    JS代码是这样的:

    $(function () {
        $('#myTable tr').each(function(){
            var remainingTime = $(this).attr('expire');
            var id = $(this).attr('id');
            $('#countdown-'+id).countdown({until: +remainingTime, format: 'HMS', compact: true});
        });
    });