[英]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.