Javascript 动态日期时间选择器问题
我所做的 我已经创建了一个动态添加日期时间选择器的页面,但现在出现了一些问题:Javascript 动态日期时间选择器问题,javascript,jquery,datetimepicker,Javascript,Jquery,Datetimepicker,我所做的 我已经创建了一个动态添加日期时间选择器的页面,但现在出现了一些问题: for(i=0;i<5;i++){ counter=i; var appendTxt = "<div style='display:none' class='divRow5 HideSchedule'><div class='divCellouter4'><div class='divCell2 rowwidth13 br
for(i=0;i<5;i++){
counter=i;
var appendTxt = "<div style='display:none' class='divRow5 HideSchedule'><div class='divCellouter4'><div class='divCell2 rowwidth13 brdrStl4'><input name='NEW_STARTdatetime[]' class='dtpkr' type='textbox' readonly='readonly' id='NEW_STARTdatetime["+counter+"]' value='' autocomplete='off' size='10' /></div><div class='divCell2 rowwidth13 brdrSt14'><input name='NEW_ENDdatetime[]' readonly='readonly' autocomplete='off' class='dtpkr' type='textbox' id='NEW_ENDdatetime["+counter+"]' value='' size='10' /></div><div class='divCell2 rowwidth13 brdrSt14'><input name='NEW_START_TIME[]' type='textbox' class='tmpkr' id='NEW_START_TIME["+counter+"]' value='' size='10' /></div><div class='divCell2 rowwidth13 brdrSt14'><input name='NEW_END_TIME[]' type='textbox' class='tmpkr' id='NEW_END_TIME["+counter+"]' value='' size='10' /></div><div class='divCell2 rowwidth8 brdrSt14'><input type='checkbox' name='new_promo_chk[]' id='new_promo_chk["+counter+"]' class='checkbox regular-checkbox big-checkbox' checked /><label for='new_promo_chk["+counter+"]'></label></span> </div></div><div class='divCell2 handcursor'> <img class='del' src='images/delete.png' /></div></div>";
$('[id$="NEW_STARTdatetime\\['+counter+'\\]"]').datetimepicker({
// minDate:'-1970/01/02',
format:'Y/m/d',
onShow:function( ct ){
this.setOptions({
maxDate:$('#NEW_ENDdatetime\\['+counter+'\\]').val()?$('#NEW_ENDdatetime\\['+counter+'\\]').val():false
})
},
timepicker:false
});
$('[id$="NEW_ENDdatetime\\['+counter+'\\]"]').datetimepicker({
//minDate:'-1970/01/02',
format:'Y/m/d',
onShow:function( ct ){
console.log('#NEW_STARTdatetime\\['+counter+'\\]');
console.log($('#NEW_STARTdatetime\\['+counter+'\\]').val());
this.setOptions({
minDate:$('#NEW_STARTdatetime\\['+counter+'\\]').val()?$('#NEW_STARTdatetime\\['+counter+'\\]').val():false
})
},
timepicker:false
});
}
for(i=0;i这是一个简单的闭包意外情况。只需将功能移动到一个方法,并在每次循环中通过它计数器调用它。如下所示:
var myMethod = function myMethod (counter){
var appendTxt = "<div style='display:none' class='divRow5 HideSchedule'><div class='divCellouter4'><div class='divCell2 rowwidth13 brdrStl4'><input name='NEW_STARTdatetime[]' class='dtpkr' type='textbox' readonly='readonly' id='NEW_STARTdatetime["+counter+"]' value='' autocomplete='off' size='10' /></div><div class='divCell2 rowwidth13 brdrSt14'><input name='NEW_ENDdatetime[]' readonly='readonly' autocomplete='off' class='dtpkr' type='textbox' id='NEW_ENDdatetime["+counter+"]' value='' size='10' /></div><div class='divCell2 rowwidth13 brdrSt14'><input name='NEW_START_TIME[]' type='textbox' class='tmpkr' id='NEW_START_TIME["+counter+"]' value='' size='10' /></div><div class='divCell2 rowwidth13 brdrSt14'><input name='NEW_END_TIME[]' type='textbox' class='tmpkr' id='NEW_END_TIME["+counter+"]' value='' size='10' /></div><div class='divCell2 rowwidth8 brdrSt14'><input type='checkbox' name='new_promo_chk[]' id='new_promo_chk["+counter+"]' class='checkbox regular-checkbox big-checkbox' checked /><label for='new_promo_chk["+counter+"]'></label></span> </div></div><div class='divCell2 handcursor'> <img class='del' src='images/delete.png' /></div></div>";
$('[id$="NEW_STARTdatetime\\['+counter+'\\]"]').datetimepicker({
// minDate:'-1970/01/02',
format:'Y/m/d',
onShow:function( ct ){
this.setOptions({
maxDate:$('#NEW_ENDdatetime\\['+counter+'\\]').val()?$('#NEW_ENDdatetime\\['+counter+'\\]').val():false
})
},
timepicker:false
});
$('[id$="NEW_ENDdatetime\\['+counter+'\\]"]').datetimepicker({
//minDate:'-1970/01/02',
format:'Y/m/d',
onShow:function( ct ){
console.log('#NEW_STARTdatetime\\['+counter+'\\]');
console.log($('#NEW_STARTdatetime\\['+counter+'\\]').val());
this.setOptions({
minDate:$('#NEW_STARTdatetime\\['+counter+'\\]').val()?$('#NEW_STARTdatetime\\['+counter+'\\]').val():false
})
},
timepicker:false
});
}
for(i=0;i<5;i++){
myMethod(i);
}
var myMethod=函数myMethod(计数器){
var appendTxt=“”;
$(“[id$=”新的\u STARTdatetime\\['+计数器+'\\]']”)。日期时间选择器({
//minDate:“-1970/01/02”,
格式:'Y/m/d',
onShow:function(ct){
此选项为.setOptions({
maxDate:$('\\\\\\\\\\\\\\\\'+计数器+'\\\]')。val()?$('\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'+计数器+)。val():false
})
},
计时器选择器:错误
});
$(“[id$=”新建\u ENDdatetime\\['+计数器+'\\]']”)。日期时间选择器({
//minDate:“-1970/01/02”,
格式:'Y/m/d',
onShow:功能(ct){
log(“#NEW#u STARTdatetime\\['+counter+'\\\]]”);
log($('\\\\['+计数器+'\\\]').val());
此选项为.setOptions({
minDate:$('\\\\\['+计数器+'\\]')。val()?$('\\\\\\\\['+计数器+'\\]')。val():false
})
},
计时器选择器:错误
});
}
对于(i=0;i您在何处创建#NEW#u STARTdatetime…
?