gpt4 book ai didi

javascript - 在 CRM 2011 中过滤子选项列表

转载 作者:行者123 更新时间:2023-12-02 17:22:45 27 4
gpt4 key购买 nike

我正在尝试将 javascript 代码从 CRM 4.0 转换为 CRM 2011。我在选择列表过滤器方面遇到问题。

我的函数位于父选项列表的 onchange 上。它第一次有效,但第二次它会删除我的子选项列表中的所有内容。

这是我应该重置选项列表的部分

    if(!oSubPicklist.originalPicklistValues)
{
oSubPicklist.originalPicklistValues = oSubPicklist.getOptions();
}
else
{
oSubPicklist.getOptions = oSubPicklist.originalPicklistValues;
oSubPicklist.setOptions = oSubPicklist.originalPicklistValues;
}

这是我删除所有不相关选项的部分:oTempArray 是一个包含我想要保留的选项的数组。如果检查“oSubPicklist.getOptions.length”,则该值与我的原始选项列表相同。

    for (var i=oSubPicklist.getOptions.length; i >= 0;i--)
{
if(oTempArray[i] != true)
{
Xrm.Page.getControl("new_product").removeOption(i);
}
}

想法?

编辑:我解决了在onLoad事件中使用originalPickList声明一个全局变量的问题:

oSubPicklist.clearOptions();
for (var i=0; i< oSubPicklist.originalPicklistValues.length; i++)
{
for (var j=0; j< oDesiredOptions.length; j++)
{
if (i == oDesiredOptions[j])
{oSubPicklist.addOption(oSubPicklist.originalPicklistValues[i]);}
}
}

最佳答案

您的代码对我来说不是很清楚:也许您可以粘贴所有函数代码以便更好地理解,但是:

  1. 这是您从 CRM 2011 中的 PickList 获取选项的方式

    var myOptionSet = Xrm.Page.ui.controls.get("new_product")   //get Control
    var optionsSet = myOptionSet .getAttribute().getOptions(); //get Options
    preferredTimeOptionSet.clearOptions(); //Clear all options

    //Create a new Option
    var opt1 = new Option();
    opt1.text = "one";
    opt1.value = 1;

    //Add Option
    myOptionSet.addOption(opt1);

    //Remove Option
    myOptionSet.removeOption(1);

Good Example here

关于javascript - 在 CRM 2011 中过滤子选项列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23771587/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com