window.setInterval(function()
{
var expiryDate = $('.houdini').attr('data-enddate');
var current = new Date();
var expiry = new expiryDate;
if (current.getTime() > expiry.getTime())
{
$('.houdini').hide();
}
else if (current.getTime() < expiry.getTime())
{
$('.houdini').show();
}
});
.houdini是我的html中的tr。 tr处于循环中。它循环通过我的约会实体并为每个约会打印一个tr。 现在我想隐藏一个约会(稍后将被删除),如果它已经过期并淡出它并且滚动&#34;对未来的其他约会。 但这样做是因为类名不显示tr。
任何人都有解决方案吗?
顺便说一句,我正在使用Symfony和twig模板。
这是HTML
<tbody>
{% for appointment in appointments %}
<tr class="houdini" data-endDate="{{appointment.endDate|date('Y-m-d H:i')}}">
<td>{{appointment.startDate|date('H:i')}}</td>
<td>{{appointment.client.companyname}}</td>
<td>{% for employee in appointment.employees %}
{{employee.firstname}}{% if not loop.last %}, {% endif %}
{% endfor %}</td>
<td>{{appointment.description}}</td><br>
</tr>
{% endfor %}
</tbody>
答案 0 :(得分:0)
这段可能会对你有用,如果你遇到任何错误,请告诉我......
window.setInterval(function()
{
var houdiniElements = $('.houdini');
for(var i =0; i < houdiniElements.length; i++) {
var expiryDate = $(houdiniElements[i]).data('enddate'); // Here probably if you are using some different date format than you need to parse it accordingly...
var current = new Date();
var expiry = new Date(expiryDate);
if (current.getTime() > expiry.getTime()){
$(houdiniElements[i]).hide();
} else if (current.getTime() < expiry.getTime()){
$(houdiniElements[i]).show();
}
}
},1000); //1000 miliseconds = 1second
如果您在Y-m-dTH中有日期会更好:M:S格式然后您可以在javascript中轻松地将日期字符串转换为日期对象,如下所示
var correctStart = '2012-11-10T13:10:13';
var date = new Date(correctStart);
OR
var start = '10/11/2012 13:10:13';
var date = new Date(start);
答案 1 :(得分:-1)
我认为数据的结果不是Date只是一个字符串。您可以将Date.getTime()保存在数据中并将其转换为intager而不是保存Date。