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

时间:2013-03-25 06:29:18

标签: php javascript arrays timer countdown

我有一个表(从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 个答案:

答案 0 :(得分:1)

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

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

<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});
    });
});