[英]Jquery return most recent date from table column
我正在尝试使用此函数从表中获取最新的日期值。
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
的日期的第一个值。
如何从此列内的所有值中返回最近日期的值?
谢谢!
您可以将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>
(我无权对您的帖子发表评论。请对我的帖子发表评论。您的问题不清楚,但我可以理解您的解释。)
这是所需输出的修改后的逻辑:
(提示:您必须迭代行/ 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>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.