使用JavaScript在具有相同ID名称的同一表单上显示/隐藏多个字段

时间:2015-09-30 15:51:51

标签: javascript forms dynamics-crm crm show-hide

我必须在同一个Dynamics CRM表单上使用字段。一个是帐户名,另一个是公司。它们都共享相同的字段ID名称,即parentcustomerid。我需要根据另一个字段的选项集的值显示/隐藏这些字段。我可以将帐户名称字段显示/隐藏,但公司字段不会显示/隐藏。

  

function showHideSourceField(){

var type = Xrm.Page.data.entity.attributes.get("new_type").getValue();
var source = Xrm.Page.ui.controls.get("new_source");
var accountname = Xrm.Page.ui.controls.get("parentcustomerid");
var company = Xrm.Page.ui.controls.get("parentcustomerid");

//Type of Contact is Unaffiliated
if (type == 100000004) {

    source.setVisible(true);
    accountname.setVisible(false);
    company.setVisible(false);

2 个答案:

答案 0 :(得分:3)

您有两种可能性:

1)它们是两个不同的字段,你只需在表单编辑器中检查一下,例如一个是name,另一个是parentcustomerid

2)它们是在表单中添加两次的相同字段,这在Dynamics CRM中是可能的,在这种情况下,第一个字段是parentcustomerid,第二个字段是parentcustomerid1,您仍然可以检查如果它是表单编辑器中的相同字段。

答案 1 :(得分:-1)

您的意思是name属性相同吗?

在Html中你使用:

  • id提供唯一标识符。
  • class提供一个组/类型/ etc

我认为最好的解决方案是为每个提供一个不同的名称,并为两者使用相同的类。

<input id="account-name" class="parentcustomer" name="account" />
<input id="company" class="parentcustomer" name="company" />

然后你可以:

$('.parentcustomer').hide();
$('.parentcustomer').show();