我有一个表(从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>';
}
}
答案 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});
});
});