【发布时间】:2013-04-09 08:48:09
【问题描述】:
我正在尝试在一个旧的 liferay 项目 (3.6) 中使用不显眼的日期选择器,我认为该项目正在运行 prototype.js。
我有这样的电话:
datePickerController.createDatePicker({formElements:{"elementId":"%d/%m/%Y"}});
为此:
createDatePicker: function(options) { addDatePicker(options); },
我无法使用变量来代替硬编码的 elementId。我尝试过数组索引、点索引、字符串变量等,但无法正常工作。
在我看来,被调用函数只需要一个通常未指定的对象,但如果我执行上述操作之一(数组、点等),浏览器会抱怨括号(数组索引)、点(点索引)、parens 或任何非预期格式。
底层调用模块 (addDatePicker) 需要 formElements,所以我无法更改它。
我不明白浏览器如何知道足以抱怨函数参数的格式......显然我在这里严重缺乏!
非常感谢指针。
例如
obj[tag] = 'elementId';
datePickerController.createDatePicker({formElements:{obj[tag]:"%d/%m/%Y"}});
// SCRIPT1003: Expected ':'
【问题讨论】:
-
请展示你如何调用
createDatePicker9 至少一个例子)。很可能存在错误。