我编写了一个 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/