2017-10-17 141 views
0

我想使用此函數從我的表中獲取最新的日期值。jquery返回表列最近的日期

function getdate() { 
    var index = $('#csvtext table').find('th:contains("DATE")').index(); 
    var max = 0; 

    $('#csvtext table tr td:eq(' + index + ')').each(function() { 
    $this = parseInt($(this).text()); 
    if ($this > max) 
     max = $this 
    }); 
    return max; 
} 

表:

<tbody> 
<tr><td>1</td><td>17/10/2017</td><td>CA5533</td></tr> 
<tr><td>2</td><td>15/10/2017</td><td>CA5533</td></tr> 
</tbody> 

問題是max是我的專欄裏DATE只返回之日起的第一個值。

如何從此列中的所有值返回最近日期的值?

謝謝!

+0

你的表是什麼樣子? – Vineesh

+0

@Vineesh編輯了代碼。尼薩爾,我看到這篇文章,我不能使用這種情況下的代碼。 –

回答

3

您可以將您的日期DD/MM/YYYY格式MM/DD/YYYY,然後使用getTime()進行比較,然後返回結果。

function getdate() { 
 
    let maxDate = '01/01/1970'; 
 
    
 
    $('table tr td:nth-child(2)').each(function(){ 
 
    var date = $(this).text().replace(/(..)\/(..)\/(...)/, '$2/$1/$3'); 
 
    if(new Date(maxDate).getTime() < new Date(date).getTime()){ 
 
     maxDate = date; 
 
    } 
 
    }); 
 
    
 
    return maxDate.replace(/(..)\/(..)\/(....)/, '$2/$1/$3'); 
 
} 
 
console.log(getdate());
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tbody> 
 
    <tr><td>1</td><td>17/10/2017</td><td>CA5533</td></tr> 
 
    <tr><td>2</td><td>15/10/2017</td><td>CA5533</td></tr> 
 
    </tbody> 
 
</table>

+0

使用Chrome。任何關於如何在Firefox上使用它的想法?謝謝! –

+0

Firefox錯誤:maxDate.replace不是函數 –

+0

更新瞭解決方案。請立即檢查。 –

0

(我沒有權利對我的post.your問題您post.please評論評論還不清楚,但我能理解你的解釋。)

這裏是你想要修改的邏輯輸出:

(提示:你必須重複的行/ tr和需要得到的內部循環列/ TD ..)

<!DOCTYPE html> 
<html> 
<head> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> 
<script> 
function getdate() { 

      var index = 1; 

      var max = null; 
      $('table tr').each(function() { 

      var date = $(this).find('td:eq(' + index +')').html().split('/') ; 

       var $this= new Date(date[2], date[1], date[0]); 
       console.log($this); 
       alert($this); 
       if ($this > max) max = $this 
      }); 
      return max; 

} 

$(document).ready(function(){ 
    var value=getdate(); 
    alert(value); 
}); 
</script> 
</head> 
<body> 

<table> 
<tbody> 
<tr><td>1</td><td>17/10/2017</td><td>CA5533</td></tr> 
<tr><td>2</td><td>15/10/2017</td><td>CA5533</td></tr> 
</tbody> 
</table> 
</body> 
</html> 
+0

嗨!同樣的回報在這裏 –

+0

需要轉換爲日期。 'parseInt()'只返回前兩位數字 – charlietfl

+0

感謝reply.is 17/10/2017是你的日期格式? –