1

我有一个显示用户当前拍卖的表(从 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>';
     }
}
4

1 回答 1

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});
    });
});
于 2013-03-25T06:43:21.200 回答