这是一个具有挑战性的问题。我对脚本编写起来相对较新,但有一个想法,我想要开始工作。
我有一个基于数组动态生成下拉列表的脚本:该数组中的每个项目都会创建一个dropdownlist
。
function getDropDownLists(inputArray, grp) { //input an array and the UI Group we're adding these DDLs to
try {
eval(grp + "Array = [];"); //Creates an array to store the DDLs we're about to create
var listName; //Create variable to store name of DDL we're creating as we iterate through inputArray
for (var i = 0; i < inputArray.length; i++) {
listName = grp + "SrcLevel_" + i.toString(); //Get the name for the DDL we're about to create
eval('var ' + listName + ' = ' + grp + '.add("dropdownlist",[0,0,150,25])'); //add a DDL for the current array item
eval(listName + '.add("item","' + listName + '")'); //This line creates an item in each dropdown to tell me its name
eval(grp + "Array[" + i + "] = " + listName + ";"); //Adds newly created DDL to the storage array
}
} catch (e) {
alert("Error on line " + e.line + ":\n" + e.message);
}
}
&#13;
当我调用此功能时(由于我已将其清理干净以用于显示目的,它可能无法正常工作)它正确创建了我的所有dropdownlists
。但是,我想为每个事件创建onChange
事件,以引用创建的存储阵列中的前一个事件并更改其内容。我知道如果onChange
事件已经知道dropdownlists
事件是如何工作的getDropDownLists(['mom','dad','baby'],family)
,但我正在处理的每个项目都是不同的,我希望在不事件的情况下让它工作每次项目要求发生变化时都要重组。
例如,当我致电dropdownlists
时,我会得到三个familySrcLevel_0
:familySrcLevel_1
,familySrcLevel_2
,onClick
。然后我将如何为这些dropdownlists
中的每一个创建{{1}}个事件,因为我知道我不知道有多少事件?这样的事情可能吗?它必须在Extendscript中完成。
答案 0 :(得分:0)
解决方案是在上面函数的末尾创建另一个包含eval
函数的onChange
语句。