如何通过表中的索引将每个col转换为本地时刻? [英] How to convert each col by index in a table to local moment?
问题描述
所以我添加了一些JQuery来循环遍历索引的每一行,使用 .eq(index)
,它可以作为索引'6'
在JQuery。但是,当我测试这个功能时,它只能转换表中最后一行的UpdateTime,而且时间不是本地的,如下所示:
如何将指定列中的每一行转换为本地?
这是JQuery函数我用来循环:
$(.td-limit)。eq(6).each (){
var updatedTimeISO = moment.utc($(this).data('order'))。toISOString();
var updatedTimeLocal = moment(updatedTimeISO);
$ ).text(updatedTimeLocal);
});
这些是DataTable中最后一列是目标的列需要转换的更新时间
@foreach(Model中的Models.Escalation项目)
{
< tr>
< td> @ item.ID< / td>
< td> @ item.Application< / td>
< td class =td-limit> @ item.EMAD< / td>
< td class =td-limit> @ item.Event< / td>
< td class =td-limit> @ item.Status< / td>
< td style =font-size:16px; class =td-limit> @ item.Statement< / td>
< td class =td-limit> @ item.Created< / td>
< td class =td-limit> @ item.Update< / td>
< td data-order =@ item.UnixTimeStampclass =td-limit> @ item.UpdatedTime< / td>
< / tr>
}
剃刀,所以你不包括更新的时间。
@foreach(Models.Escalation item in Model)
{
< tr> ;
< td> @ item.ID< / td>
< td> @ item.Application< / td>
< td class =td-limit> @ item.EMAD< / td>
< td class =td-limit> @ item.Event< / td>
< td class =td-limit> @ item.Status< / td>
< td style =font-size:16px; class =td-limit> @ item.Statement< / td>
< td class =td-limit> @ item.Created< / td>
< td class =td-limit> @ item.Update< / td>
< td data-order =@ item.UnixTimeStampclass =td-limit>< / td>
< / tr>
}
然后使用这个jQuery在客户端更新它。
$(td [data-order]) (){var updatedTimeISO = moment.utc($(this).data('order'))。toISOString(); var updatedTimeLocal = moment(updatedTimeISO); $(this).text(updatedTimeLocal);}); code>
< script src =https://cdnjs.cloudflare。 com / ajax / libs / moment.js / 2.14.1 / moment.min.js>< / script>< script src =https://ajax.googleapis.com/ajax/libs/jquery/2.1 .1 / jquery.min.js>< / script>< table border =1> < tr> < td> ID< / td> < td>应用< / td> < td class =td-limit> EMAD< / td> < td class =td-limit>事件< / td> < td class =td-limit> Status< / td> < td style =font-size:16px; class =td-limit> Statement< / td> < td class =td-limit> Created< / td> < td class =td-limit> Update< / td> < td data-order =2013-02-02T21:01:26.0828604Zclass =td-limit>< / td> < / tr> < tr> < td> ID< / td> < td>应用< / td> < td class =td-limit> EMAD< / td> < td class =td-limit>事件< / td> < td class =td-limit> Status< / td> < td style =font-size:16px; class =td-limit> Statement< / td> < td class =td-limit> Created< / td> < td class =td-limit> Update< / td> < td data-order =2013-03-02T21:01:26.0828604Zclass =td-limit>< / td> < / tr> < tr> < td> ID< / td> < td>应用< / td> < td class =td-limit> EMAD< / td> < td class =td-limit>事件< / td> < td class =td-limit> Status< / td> < td style =font-size:16px; class =td-limit> Statement< / td> < td class =td-limit> Created< / td> < td class =td-limit> Update< / td> < td data-order =2013-07-02T21:01:26.0828604Zclass =td-limit>< / td> < / tr>< / table>
I have a table containing 8 columns. Each date value in the final column needs to be converted to the browser local. At the moment it shows as UTC:
So I added some JQuery to loop through each row at the index using .eq(index)
which works out to be index '6'
in JQuery. But when I test this function it only converts the last row UpdatedTime in the table and the time is not local as seen below:
How can I convert each row at a specified column to local moment?
This is the JQuery function I use to loop through:
$(".td-limit").eq(6).each(function () {
var updatedTimeISO = moment.utc($(this).data('order')).toISOString();
var updatedTimeLocal = moment(updatedTimeISO);
$(this).text(updatedTimeLocal);
});
And these are the columns in the DataTable where the final column is the target UpdatedTime
that needs to be converted:
@foreach (Models.Escalation item in Model)
{
<tr>
<td>@item.ID</td>
<td>@item.Application</td>
<td class="td-limit">@item.EMAD</td>
<td class="td-limit">@item.Event</td>
<td class="td-limit">@item.Status</td>
<td style="font-size: 16px;" class=" td-limit">@item.Statement</td>
<td class="td-limit">@item.Created</td>
<td class="td-limit">@item.Update</td>
<td data-order="@item.UnixTimeStamp" class="td-limit">@item.UpdatedTime</td>
</tr>
}
Modify your Razor so you don't include the updated time.
@foreach (Models.Escalation item in Model)
{
<tr>
<td>@item.ID</td>
<td>@item.Application</td>
<td class="td-limit">@item.EMAD</td>
<td class="td-limit">@item.Event</td>
<td class="td-limit">@item.Status</td>
<td style="font-size: 16px;" class=" td-limit">@item.Statement</td>
<td class="td-limit">@item.Created</td>
<td class="td-limit">@item.Update</td>
<td data-order="@item.UnixTimeStamp" class="td-limit"></td>
</tr>
}
Then use this jQuery to update it on the client side.
$("td[data-order]").each(function() {
var updatedTimeISO = moment.utc($(this).data('order')).toISOString();
var updatedTimeLocal = moment(updatedTimeISO);
$(this).text(updatedTimeLocal);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table border="1">
<tr>
<td>ID</td>
<td>Application</td>
<td class="td-limit">EMAD</td>
<td class="td-limit">Event</td>
<td class="td-limit">Status</td>
<td style="font-size: 16px;" class="td-limit">Statement</td>
<td class="td-limit">Created</td>
<td class="td-limit">Update</td>
<td data-order="2013-02-02T21:01:26.0828604Z" class="td-limit"></td>
</tr>
<tr>
<td>ID</td>
<td>Application</td>
<td class="td-limit">EMAD</td>
<td class="td-limit">Event</td>
<td class="td-limit">Status</td>
<td style="font-size: 16px;" class=" td-limit">Statement</td>
<td class="td-limit">Created</td>
<td class="td-limit">Update</td>
<td data-order="2013-03-02T21:01:26.0828604Z" class="td-limit"></td>
</tr>
<tr>
<td>ID</td>
<td>Application</td>
<td class="td-limit">EMAD</td>
<td class="td-limit">Event</td>
<td class="td-limit">Status</td>
<td style="font-size: 16px;" class=" td-limit">Statement</td>
<td class="td-limit">Created</td>
<td class="td-limit">Update</td>
<td data-order="2013-07-02T21:01:26.0828604Z" class="td-limit"></td>
</tr>
</table>
这篇关于如何通过表中的索引将每个col转换为本地时刻?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!