使用event.Change从Array获取值

所以我正在处理以下问题。

我正在创建PDF并让用户填写字段。 其中一个字段是列表。 在选择时,其他字段填充有拟合内容。

此内容存储在数组中。

所以这就是我做的:

var company = ["comapny name", "street", "Postcode", "City", "Country"]; var company1 = ["comapny name1", "street1", "Postcode1", "City1", "Country1"]; if (!event.willCommit){ if (listCompany.value == "comapny name"){ this.getField("fldStreet").value = company[2]; } if (listCompany.value == "comapny name1"){ this.getField("fldStreet").value = company1[2]; } } 

上面的部分没有给出错误,但给了我“先前”的内容。
PDF加载然后填充字段。 更改列表后,字段不会更改其内容。 仅在第二次点击后。

所以我找到了以下内容: event.changeEx;

经过简单的尝试,效果很好:

 var company = ["comapny name", "street", "Postcode", "City", "Country"]; var company1 = ["comapny name1", "street1", "Postcode1", "City1", "Country1"]; if (!event.willCommit){ if (listCompany.value == "comapny name"){ this.getField("fldStreet").value = event.changeEx; } if (listCompany.value == "comapny name1"){ this.getField("fldStreet").value = event.changeEx; } } 

这给了我所选项目的价值。 但我现在遇到的问题是如何根据选择从我的数组中选择其他字段。

经过大量的谷歌搜索修复了它。

event.changeEx适用于combobox并获取更改的值。 这意味着选择更改后会立即更新。

这可能导致以下结果:

 var company = ["comapny name", "street", "Postcode", "City", "Country"]; var company1 = ["comapny name1", "street1", "Postcode1", "City1", "Country1"]; if (!event.willCommit){ if (event.changeEx == "comapny name"){ this.getField("fldStreet").value = company[1]; } if (event.changeEx == "comapny name1"){ this.getField("fldStreet").value = company1[1]; } } 

如果event.changeEx值等于公司名称,则可以读取该数组。

下一步是创建某种循环,因为我不会为每个公司都这样做:-)