我正在使用可在此处找到的datePicker:
http://www.frequency-decoder.com/2011/10/11/unobtrusive-accessible-datepicker-widgit-v6
我工作正常,只要我硬编码对象的id。即。
var newid = "date" + maxidOnce.toString();
datePickerController.createDatePicker({
formElements:{"date1":"%Y-%m-%d"},
statusFormat:"%l, %d %F %Y",
noFadeEffect:true
});
但是如果我用变量替换id,它就不再起作用了。我看不出有什么不同。
var newid = "oncedate" + maxidOnce.toString();
datePickerController.createDatePicker({
formElements:{newid:"%Y-%m-%d"},
statusFormat:"%l, %d %F %Y",
noFadeEffect:true
});
答案 0 :(得分:6)
我看不出有什么不同。
不同之处在于,使用object literals时,JavaScript对象键不会被解释为变量。请改用bracket notation。
var newid = "oncedate" + maxidOnce;
var formElts = {};
formElts[newid] = "%Y-%m-%d";
datePickerController.createDatePicker({
formElements: formElts,
statusFormat: "%l, %d %F %Y",
noFadeEffect: true
});
// or, to write it another way,
var newid = "oncedate" + maxidOnce;
var options = {
formElements: {},
statusFormat: "%l, %d %F %Y",
noFadeEffect: true
};
options.formElements[newid] = "%Y-%m-%d";
datePickerController.createDatePicker(options);