前言:最近颇为烦恼的一个问题,特地记录下来以备参考。
方法一:
注:
通过 js 操作crm里类型为选项组的栏位方法:
1. 清除选项组:xrm.page.getcontrol(“controlid”).clearoptions();
2. 添加选项组选项:xrm.page.getcontrol(“controlid”).addoption({value:0, text:”显示的值”});
备注(重要):通过 js 添加的选项组项的值(value)必须先在栏位对应的选项组中有对应的值,不然即使绑定了,选中也无法显示在页面上
操作页面选项时最终显示在页面上的值是“栏位对应的选项的值”;
意思是假设通过js绑定了value=0,text=”js绑定”选项,而栏位中添加了个值为0的,标签为“栏位绑定”的选项;
当操作页面选中“js绑定”时,crm会自动查找预先绑定过的值,如果则无法显示,如果找到会显示对应的标签,如显示“栏位绑定”。
因为上面的问题,所以如果有别的更好方法,还是不建议用这个方法(听说lookup方法可以实现级联,再研究).
不多说,具体实现如下:
————————水解产物——————— 分割线 ———————————————
crm js代码:
//获取lect元素 var countryid = "new_testcountry"; var provinceid = "new_state"; var cityid = "new_test_city"; var countryobj = xrm.page.getcontrol(countryid ); var provinceobj = xrm.page.getcontrol(provinceid); var cityobj = xrm.page.getcontrol(cityid); //初始化地区下拉菜单 function initialize() { //清空已绑定值 countryobj.clearoptions(); var countrystr = "australia,belgium,cambodia,canada,switzerland,china,france,germany,hong kong,india,indonesia,ireland,israel,italy,japan,korea,kuwait,lebanon,luxembourg,macao,malaysia,netherlands,new zealand,philippines,sweden,singapore,south africa,sweden,taiwan,thailand,united kiongdom,usa,vietnam"; var countryarray = countrystr.split(','); for(var i=0; i= 100) i = i+1; val = i; break; } countryobj.addoption({value:val, text:countryarray[i]}); } provincedel(); //绑定onchange事件 xrm天下云集响应.page.getattribute(countryid).addonchange(function(){ countrylchange(); }) xrm.page.getattribute(provinceid).addonchange(function(){ provincelchange(); }) toptions(); } //加载下拉框设置的值(更新) function toptions() { var countryentity = xrm.page.data.entity.attributes.get(countryid); var provinceentity = xrm.page.data.entity.attributes.get(provinceid); var cityentity = xrm.page.data.entity.attributes.get(cityid); countryentity.tvalue(countryentity._attribute["$v_1"]); provinceentity.tvalue(provinceentity._attribute["$v_1"]); cityentity.tvalue(cityentity._attribute["$v_1"]); } //下拉列表改变事件 function countrylchange() { provincedel(); province美术学专业add(); } //下拉列表改变事件 function provincelchange() { citydel(); cityadd(); } //清空 function provincedel() { provinceobj.clearoptions(); citydel();深恶痛绝的拼音 } //清空 function citydel() { cityobj.clearoptions(); } //添加省 function provinceadd() { var provincelist = []; provincelist[0] = [100, "china", "安徽省,澳门,北京市,重庆市,福建省,甘肃省,广东省,广西省,贵州省,海南省,河北省,黑龙江省,河南省,湖北省,湖南省,江苏省,江西省,吉林省,辽宁省,内蒙古自治区,宁夏回族自治区,青海省,山东省,上海市,陕西省,山西省,四川省,台湾省,天津市,香港,新疆维吾尔自治区,西藏自治区,云南省,浙江省"]; for(山西教师资格考试var i=0; i打开对应的表单,找到最上方的 ‘表单属性’ ,在事件里添加表单程式库,将上述代码放入你的js文件中,
然后在下方的事件处理常式中的onload事件中添加程式库,调用上诉initialize 函数;
在完成表单后在onsave事件中调用上述saveform函数。
栏位中添加三个栏位,名称分别是上方的 new_country, new_province, new_city;皆为选项组类型,
对应的选项组值需要和js中对应,比如new_country 有标签为“china”,值为100;new_province 有标签为“安徽省”,值为100;标签为“福建省”,值为104……
========================== 方法分割线 =============================
方法二:
思考中……
本文发布于:2023-04-03 02:07:40,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/94529fe18cf5514b9cd662e12f31f4d8.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:DynamicsCRM2015通过JS控制下拉框实现国家省市级联.doc
本文 PDF 下载地址:DynamicsCRM2015通过JS控制下拉框实现国家省市级联.pdf
留言与评论(共有 0 条评论) |