Javascript 如何基于其他选项集隐藏/显示选项集CRM Dynamics

Javascript 如何基于其他选项集隐藏/显示选项集CRM Dynamics,javascript,dynamics-crm,microsoft-dynamics,dynamics-crm-2016,Javascript,Dynamics Crm,Microsoft Dynamics,Dynamics Crm 2016,一个optionset定义具有正确optionset的类别。然后,第二个字段仅显示相关选项。然而,当我跨过它时,我会不断得到一个循环。我用所有正确的值创建了一个数组并调用了它们,但我一直得到一个错误: TypeError:无法读取Mscrm.TurboForm.Control.View.PickListedElement.addOption()上未定义的属性“toString” 我不知道我做错了什么 var generalServiceRequest=[100000000,100000001,

一个optionset定义具有正确optionset的类别。然后,第二个字段仅显示相关选项。然而,当我跨过它时,我会不断得到一个循环。我用所有正确的值创建了一个数组并调用了它们,但我一直得到一个错误:

TypeError:无法读取Mscrm.TurboForm.Control.View.PickListedElement.addOption()上未定义的属性“toString”

我不知道我做错了什么

var generalServiceRequest=[100000000,100000001,100000002,100000003,100000004,100000005,100000006,100000007,100000008,100000009,100000010,100000011,100000012,100000013,100000014,100000015,100000016,100000017,100000018,100000019,100000020,100000021,100000022,100000023,100000024,100000025,100000026,100000027,100000028,100000029,100000030,100000031,100000032,100000033,100000034,100000035,100000036,100000037,100000038];
var parksAndRec=[1000000391000000401000000411000004210004410000045];
var boardOfPublicUtilities=[100000046100000047100000048100000049100000050100000051];
var publicWorks=[100000052100000053100000054100000055100000056100000057100000058100000059100000610000061000006100000610000066000661000006700061100068006910000071000007100000711000721000733];
风险值司库=[10000007410000007510000007610000007710000078,];
var市政公用事业=[10000007910000080100081000008100000810000081000008100000810000084100085100000861000000086810000087];
var districtCourt=[100000081100081000009100000910000091000009100000910000091095,];
var Neighborhood Resource=[100000961000000971000009810000000991000000000100001011000001001001001020000103100000101000000105,];
var Sherriff=[10000001061000000107100000010810000001091000000110,];
//表单的OnLoad和指定字段的OnChange。
函数masteroptionstart(){
resetoptionstart();
var optionValue=Xrm.Page.getAttribute(“新的指定服务请求”).getValue();
开关(选项值){
案例100000000:
showOptionSet(通用服务请求);
打破
案例10000001:
showOptionSet(parksAndRec);
打破
案例10000002:
ShowOptiStart(公共执行委员会);
打破
案例10000003:
showOptionSet(公共工程);
打破
案例100000004:
(司库);
打破
案例10000005:
showOptionSet(市立法院);
打破
案例10000006:
showOptionSet(地区法院);
打破
案例10000007:
showOptionSet(邻里资源);
打破
案例10000008:
(警长);
}
}
函数resetoptionstart()
{   

对于(var i=100000000;i而言,选择列表选项是一个键值对。应如下所示添加为选项:

(可能您必须保留多维数组以存储正确的值)

var sheriff={value:100000000,文本:“sheriff123”};
var picklist=Xrm.Page.getControl(“新主题”);
var options=picklist.getOptions();
函数resetoptionstart()
{   
对于(变量i=0;i

也可以考虑<代码> > ReSopopStices()>代码>方法中的上述更改,包括动态选项列表,而不是硬编码。


是一个很好的选择,如果您想尝试,使用依赖optionset的配置实体会更容易。

下面的答案应该可以让您在依赖选择列表上找到答案。因为您似乎正在构建某种县服务或311系统,以避免维护这些编码依赖项的长期开销它们会改变,你可能也想考虑使用过滤查找的实体。我在查找解决方案上同意Aron。BTW,可配置的依赖性列表可以使用一些社区代码。我也已经用那个链接更新了答案。