提前致谢。
我使用以下代码根据日期从表中删除表行。该表显示了即将进行的预订,但我希望将同一天的预订包含在表格中,并仅删除过去的预订。 如果日期在今天之前,则隐藏该行。
继承人HTML.T顺便说一句,这是循环的一部分。
<table style="width:100%;" class="dashboard_widget" id="bookingsdashboard">
<thead>
<tr>
<th>
<p><strong>Booking Ref</strong></p>
</th>
<th>
<p><strong>Arrival Date</strong></p>
</th>
<th>
<p><strong>Booking Type</strong></p>
</th>
<th>
<p><strong>Operator Name</strong></p>
</th>
<th class="options">
<p><strong>Options</strong></p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<h3>MR Design Et Al</h3>
</td>
<td id="arrivaldate-widget">
<p><span class="arrivaldate-widget-unix" style="display:none;">1434844800</span> 21.06.2015<br>(9 nights)</p>
</td>
<td>
<p>Corporate</p>
</td>
<td>
<p>Operatex</p>
</td>
<td>
<a href="http://www.greenmonkeypublicrelations.com/scpads/wp-admin/post.php?post=225&action=edit"><i class="fa fa-file-text" style="padding-right:10px;"></i>Edit</a>
</td>
</tr>
<tr>
<td>
<h3>Mr Knopps</h3>
</td>
<td id="arrivaldate-widget">
<p><span class="arrivaldate-widget-unix" style="display:none;">1429574400</span> 21.04.2015<br>(343 nights)</p>
</td>
<td>
<p>Groups</p>
</td>
<td>
<p>Operatorsio</p>
</td>
<td>
<a href="http://www.greenmonkeypublicrelations.com/scpads/wp-admin/post.php?post=219&action=edit"><i class="fa fa-file-text" style="padding-right:10px;"></i>Edit</a>
</td>
</tr>
<tr>
<td>
<h3>Mr Knopps</h3>
</td>
<td id="arrivaldate-widget">
<p><span class="arrivaldate-widget-unix" style="display:none;">1456012800</span> 21.02.2016<br>(297 nights)</p>
</td>
<td>
<p>Groups</p>
</td>
<td>
<p>Operatorsio</p>
</td>
<td>
<a href="http://www.greenmonkeypublicrelations.com/scpads/wp-admin/post.php?post=220&action=edit"><i class="fa fa-file-text" style="padding-right:10px;"></i>Edit</a>
</td>
</tr>
<tr>
<td>
<h3>Mr Knopps</h3>
</td>
<td id="arrivaldate-widget">
<p><span class="arrivaldate-widget-unix" style="display:none;">1429574400</span> 21.04.2015<br>(6 nights)</p>
</td>
<td>
<p>Groups</p>
</td>
<td>
<p>Operatorsio</p>
</td>
<td>
<a href="http://www.greenmonkeypublicrelations.com/scpads/wp-admin/post.php?post=218&action=edit"><i class="fa fa-file-text" style="padding-right:10px;"></i>Edit</a>
</td>
</tr>
</tbody></table>
继承人jQuery
jQuery(document).ready(function(){
var date = jQuery('.arrivaldate-widget-unix').val();
var time = jQuery.now();
if (date < time ) {
jQuery('.arrivaldate-widget-unix').closest('tr').hide();
}
});
答案 0 :(得分:1)
假设您需要隐藏行
您需要使用.each()
来迭代对象
jQuery(document).ready(function(){
var time = jQuery.now(); //OR new Date(jQuery.now())
jQuery('.arrivaldate-widget-unix').each(function(){
var date = jQuery(this).val();
if (date < time ) {
jQuery(this).closest('tr').hide();
}
});
});
编辑,与仅使用日期部分进行比较
jQuery(document).ready(function(){
var today = new Date();
//Only date part
today.setHours(0, 0, 0, 0);
jQuery('.arrivaldate-widget-unix').each(function(){
var date = jQuery(this).val();
if (date < today ) {
jQuery(this).closest('tr').hide();
}
});
});
答案 1 :(得分:0)
Satpals代码解决了你的问题,除了白天的事情。 您可以使用前一天进行比较并使用该日。 为了做到这一点,你可以创建一个前一天找到的函数。 here您可以找到有关Date方法的所有信息。 您可以找到当天,然后减去1
var yesterday = new Date();
d.setDate(yesterday.getDate()-1);
然后你应该进行必要的检查,如果它是一个月的第一天,减去月份等等。
答案 2 :(得分:0)
@all你。 感谢您的帮助,但我发现我能看到的是解决问题的更有效方法。我实际上离开了js并使用了一些PHP代替。这意味着我可以在显示之前从循环中删除记录,因此不需要隐藏。
仅供参考,我注意到js版本和php版本之间的时间戳不同。所以我在循环中生成了一个新的时间戳来运行条件。这现在完美无缺。如果$ arrival日期时间戳等于或大于$ today timestamp,则再次包含HTML(),else,循环。
无论如何,谢谢你的帮助。