Javascript/jQuery - 具有多个字段的时区更改脚本

标签 javascript jquery

我编写了一个 JavaScript,用于使用下拉选择菜单更改网站上字段的“时区”。

您可以在此处查看脚本:http://jsfiddle.net/dTb76/14/

但是,我已经达到了我知道如何做的极限 - 我需要脚本来修改多个“时间”字段,但是目前它只能用于一个字段。

几天来我一直在尝试找出要进行哪些更改,但运气不佳。据我所知,我需要某种“foreach”语句,告诉它存储每个字段的原始时间,然后通过选择中选择的任何内容对其进行修改,但是我不确定如何在 jQuery/javascript 中实现它.

非常感谢帮助。

最佳答案

您只需要使用 $.each JQuery function :

$('#modTime').change(function() {

    var times = $('.time');

    $.each(times, function(index, value) {

        var curTime = $(value).text();

        curTimeHH = parseInt(curTime.split(':')[0],10);

        $(value).attr('originalTime', curTime);

        var modifyBy = parseInt($('#modTime').val(),10);

        curTimeHH = parseInt(curTime,10) + modifyBy;

        if (curTimeHH === 0) {
            $(value).text('24:00');
        } else if (curTimeHH > 24) { 
            curTimeHH = curTimeHH - 24;
            $(value).text('0'+curTimeHH + ':00');
        } else if (curTimeHH < 0) {
            curTimeHH = curTimeHH + 24;
            $(value).text(curTimeHH + ':00');
        } else { 
            $(value).text(curTimeHH + ':00');
        }                
    });        
});​

编辑:

要检索每个字段的“原始时间”,您可以执行以下操作:

    var times = $('.time');

    $.each(times, function(index, value) {

        var originalTime = $(value).attr('originalTime');
        ...
    });     

关于Javascript/jQuery - 具有多个字段的时区更改脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10720765/

相关文章:

javascript - 即使捕获到失败,也会出现控制台错误?

javascript - 将鼠标悬停在 prepend() 函数中

javascript - 来自 SQL 提取数组的弹出图像显示相同的图像

javascript - 从顶部减少 div 的高度,而不是从底部减少

javascript - 元素上的外部单击句柄事件

javascript - 当不使用tagsTxt时,如何使用else语句获取用户在URL中的输入?

javascript - 如何使用 JavaScript 或 JQuery 检测 URL 是否指向网页或二进制文件?

javascript - 打破 .each() jquery 语句的最佳方法是什么?

javascript - 在选择菜单中禁用第 n 个子项

javascript - 使用 jQuery 隐藏/显示多个 Div 的最佳实践