1

ユーザーの現在のオークションを示すテーブル(php配列から生成)があります。この表の列の1つは、オークションの残り時間を示しています。残り時間をゼロにする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

それぞれを使用して、すべてのテーブル行をループします。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 に答える