当我有多个元素时,多选Lookup onChange事件不会触发

时间:2015-07-20 12:54:57

标签: javascript dynamics-crm-2011

我正在运行Dynamics CRM 2011 RU 18,并且正在更改JavaScript以便与此新版本兼容。

我有一个多选查找,我添加了一个事件处理程序,可以保存对值的修改。

添加到onLoad事件的代码

document.getElementById(lookupSchemaName).setAttribute("lookupstyle", "multi");
document.getElementById(lookupSchemaName).setAttribute("_lookupstyle", "multi");

Xrm.Page.getAttribute(lookupSchemaName).addOnChange(function () {Update(...)})

Xrm.Page.getAttribute(lookupSchemaName).setSubmitMode("never");

if (Xrm.Page.ui.getFormType() != CRM_FORM_TYPE_CREATE) {
FillMultiLookup(relationshipSchemaName, lookupSchemaName, relatedEntitySchemaName, relatedEntityPrimaryAttributeSchemaName);
}

else {
    Xrm.Page.getControl(lookupSchemaName).setDisabled(true);
}

奇怪的是,当查找选择了一个元素时,它只会进入我的onChange处理程序方法。当选择多个元素时,它将不会进入我的onChange处理程序

1 个答案:

答案 0 :(得分:0)

前两行是绕过Xrm.Page API直接操作CRM表单页面的DOM。 Microsoft不支持此操作,可能会导致不可预测的结果。

在这种特定情况下,您不能简单地更改仅包含一个值的查找字段,并期望它支持多个值。它根本不起作用,因为相应的实体关系不适应它。

CRM中存在的少数多个查找字段都是内置字段。不幸的是我们无法添加自定义的。