使用 JavaScript 到 Show/Hide 具有相同 ID 名称的同一表单上的多个字段

Using JavaScript to Show/Hide multiple fields on the same form with same id name

我必须在同一个 Dynamics CRM 表单上填写字段。一个是帐户名称,另一个字段是公司。它们都共享相同的字段 ID 名称,即 parentcustomerid。我需要根据另一个字段的选项集的值 show/hide 这些字段。我可以将帐户名称字段设置为 show/hide,但公司字段不会 show/hide。

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);

你是说相同的 name 属性?

在 Html 你使用:

  • id 提供唯一标识符。
  • class提供一个group/type/etc

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

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

那么您可以:

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

你有两种可能:

1) 它们是两个不同的字段,您可以在表单编辑器中简单地查看,例如一个是 name 另一个是 parentcustomerid

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