javascript - 我想使用复选框来改变 var 的输出

标签 javascript jquery css checkbox var

我到处都找遍了,但我似乎无法找到任何可以完成我需要它做的事情的东西。我希望我的脚本能够检查我为日期和时间输入的变量并自动计算 DST,但这比我能得到的要复杂得多。相反,我只想要一个简单的复选框来从 var 的属性中减去一个小时。

  
/*Define Zones*/
  var edt = values[3];
  var pdt = values[3];
  var cet = values[3];
  
/*This is for the timezone calculator*/

if ( ((values[0] == 'march') && (values[1] > '8')) || (values[0] == 'april') || (values[0] == 'may') || (values[0] == 'june') || (values[0] == 'july') || (values[0] == 'august') || ( (values[0] == 'november') && (values[1] != '1')) ) {
		edt = values[3] - 3;
		pdt = values[3] - 6;
		cet = values[3] - - 1;
} 
else {
		edt = values[3] - 4;
		pdt = values[3] - 7;
		cet = values[3] - - 2;
}

  /*This puts the world time clock in */
var anchor = 'http://www.timeanddate.com/worldclock/fixedtime.html?iso=2015-' + a_month + '-' + a_date + 'T' + values[3] + ':' + values[7] + ':00';

  /*Subtracts the hours for CET/PDT/EDT	
  var edt = values[3] - 3;
  var pdt = values[3] - 7;
  var cet = values[3] - -2;
*/
  var times = [values[3], edt, pdt, cet];

  /*This is for the the pluralization of hours */
		/*English hour text */
		if (values[4] == '1') {
			var hourtext = 'hour';
		} 
		else { var hourtext = 'hours';
		}
		/* FR hour text */
		if (values[4] == '1') {
			var frhourtext = 'heure';
		} 
		else { var frhourtext = 'heures';
		}
		/*DE hour text */
		if (values[4] == '1') {
			var dehourtext = 'stunde';
		} 
		else { var dehourtext = 'stunden';
		}

  /*This is to validate the checkbox */
var validate = 'Not Checked';

if ($('.ckDst').is(':checked')) {
   	edt = values[3] - 4;
		pdt = values[3] - 7;
		cet = values[3] - - 2;
} else if {
		edt = values[3] - 3;
		pdt = values[3] - 6;
		cet = values[3] - - 1;
}
else {
}
 
  
  
 /*This is to put in DST */
 		if ($('.ckDst') == ':checked') {
		edt = values[3] - 4;
		pdt = values[3] - 7;
		cet = values[3] - - 2;
		} 
		else { 
		edt = values[3] - 3;
		pdt = values[3] - 6;
		cet = values[3] - - 1;
		}

我有完整的代码,这里有 HTML 和 CSS:http://codepen.io/GrayHogan/pen/RWreKL

虽然我很乐意采纳所有建议,但我真的只想让悬空的复选框按照我的指示执行!

谢谢!

最佳答案

当复选框被选中或取消选中时,我没有看到您正在收听的任何地方。

试试这个

$('.ckDst').on('change',function(){
    if ($('.ckDst').is(':checked')) {
        edt = values[3] - 4;
        pdt = values[3] - 7;
        cet = values[3] - - 2;
    } 
    else { 
        edt = values[3] - 3;
        pdt = values[3] - 6;
        cet = values[3] - - 1;
    }
});

更新 还修复了评论中指出的错误定义的 if 语句。

关于javascript - 我想使用复选框来改变 var 的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32594634/

相关文章:

javascript - ng 值不起作用

Javascript 函数影响除指定区域以外的页面其他区域

javascript - 是否可以从 iframe 中单击的链接获取 url?

html - 如何使 3 个不同的文本框具有相同的高度(在响应状态下)

html - 页脚不会拉伸(stretch) 100%

javascript - 如何直接从浏览器打开 Facebook 应用程序以共享 View

javascript - 如何自定义清理字符串以使其适合 URL?

jquery - 删除/替换动态创建的 <STYLE> 标签(使用 jQuery)

javascript - 如何在 jQuery 中重新触发尚未完成的音频

css - 如何仅覆盖子元素上的滚动条