簡體   English   中英

如何使用 jQuery 打印表格列中每個值的 position

[英]How to print the position of each value in a table column using jQuery

快速 jQuery 問題。 我表中的列代表賽車手在比賽中的分段時間。 我想將一位賽車手的分段時間與另一位賽車手的分段時間進行比較。 例如,我有 3 名賽車手,分段時間分別為 3 秒、4 秒和 2 秒。

在每個時間旁邊的表格單元格中,我想將 output 和 position 與其他賽車手相比,例如:3 秒 (2)、4 秒 (3) 和 2 秒 (1)。

我確信將每個拆分時間添加到數組中,然后迭代每個並打印 position 是一件簡單的事情。 但是,我似乎無法解決如何解決這個問題。

這里以 jsfiddle 表為例: http://jsfiddle.net/hYvdp/

如果你有這個 html:

<table cellspacing='5' border=1>
    <tr>
        <td>Race 1 time</td>
        <td>Race 2 time</td>
        <td>Race 3 time</td>
    </tr>
        <tr id='time'>
        <td>4</td>
        <td>1</td>
        <td>2</td>
    </tr>
        <tr id='position'>
        <td></td>
        <td></td>
        <td></td>
    </tr>
</table>

你可以這樣做來計算 position:

var racers= []
$('#time td').each(function(){
    var racer = {};
    racer['idx'] = $(this).index();
    racer['time'] =   $(this).text();
    racers.push(racer);
 });
racers.sort(function(a,b){
    if(a.time > b.time){
        return 1;
    }else if(a.time < b.time){
        return -1;
    }
    return 0;
});

var position = 1;
for (i =0; i<racers.length; i++){
    var idx = racers[i].idx;
    $('#position td:eq('+idx+')').html('Position :'+position);
    position++;
}

在這里擺弄: http://jsfiddle.net/XcpNw/

第三行有 position 是動態計算的:您可以將相同的行為附加到 function 或 ajax 調用的響應

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM