想想看,我有10个输入框,(使用据透露日期选择器插件)JavaScript的for循环不拾取值id
我点击输入框时,一组特定的要求,或plux /负div也被击中(根据需要显示/隐藏10个框)。
此循环似乎没有选取x和y变量。
警告我一直回声6例如..不知道为什么..
这里是我的环...和想法x和y似乎没有,为什么要设置?
for (var x = 1; x <= 10; x++) {
var y = x+1;
$('#date_start'+y).attr("disabled", "disabled");
$('#date_start'+x).datetimepicker();
$('#date_start'+x).blur(function() {
if (isset($('#date_start'+x).val())) {
$('.add_time_'+x).css('visibility', 'visible');
} else {
$('.add_time_'+x).css('visibility', 'hidden');
$('.rem_time_'+y).css('visibility', 'hidden');
}
});
$('.add_time_'+x).click(function() {
alert('ici: ' + y);
$('.date_'+y).css('visibility', 'visible');
$('#date_start'+y).removeAttr("disabled");
$('.rem_time_'+y).css('visibility', 'visible');
});
$('.rem_time_'+y).click(function() {
$('.date_'+y).css('visibility', 'hidden');
$('#date_start'+y).attr("disabled", "disabled");
$('#date_start'+y).val('');
$('.rem_time_'+y).css('visibility', 'hidden');
$('.add_time_'+y).css('visibility', 'hidden');
});
}
=== 注意,isset,是一个单独的功能,我要检查如果字段值为空/不设置 当我尝试和回声出$(“#DATE_START”的+ x的值).val()
它回声未定义...即使相应的输入HAS屏幕上的值。
阅读:http://stackoverflow.com/questions/111102/how-does-a-javascript-closure-work – sje397 2010-12-13 14:50:43
你是在循环中定义函数。请参阅http://blog.morrisjohns.com/javascript_closures_for_dummies.html示例5. – 2010-12-13 14:51:17