コミュニティアチーブメントバーを展開する。

Join us on September 25th for a must-attend webinar featuring Adobe Experience Maker winner Anish Raul. Discover how leading enterprises are adopting AI into their workflows securely, responsibly, and at scale.

Mark Solution

この会話は、活動がないためロックされています。新しい投稿を作成してください。

解決済み

Track multi choice

Avatar

Level 9

 

Hello everyone,

 

How can I track multi-choice and have an evar like this Contemporary Arts|Visual Arts.

Thanks

 

1982luca_0-1607783981908.png

 

1 受け入れられたソリューション

Avatar

正解者
Level 8

@Luca_Lattarini -

I'd probably create a data element in Launch that's based on custom JS (see below). You'd then just reference the data element in the rule that executes when the form is submitted (or whenever you want to collect the info) to populate your eVar (listVar, listProp...).

var retval = [];
var elements = document.querySelectorAll("input[name='interests']");

if (elements.length > 0) {
  elements.forEach(function (item) {
    if ((item).checked === true) {
      var chosenOne = item.parentElement.querySelector("span").innerText;
      if (chosenOne) {
        retval.push(chosenOne);
      }
    }
  });
}

return retval.join("|");

Assuming the HTML structure matches what's in your post, the above logic checks each checkbox to see if it is checked. If checked, it looks for the related <span> tag to get the name (eg// "Contemporary Arts"). This should work whether there's one option or 100. 

元の投稿で解決策を見る

1 返信

Avatar

正解者
Level 8

@Luca_Lattarini -

I'd probably create a data element in Launch that's based on custom JS (see below). You'd then just reference the data element in the rule that executes when the form is submitted (or whenever you want to collect the info) to populate your eVar (listVar, listProp...).

var retval = [];
var elements = document.querySelectorAll("input[name='interests']");

if (elements.length > 0) {
  elements.forEach(function (item) {
    if ((item).checked === true) {
      var chosenOne = item.parentElement.querySelector("span").innerText;
      if (chosenOne) {
        retval.push(chosenOne);
      }
    }
  });
}

return retval.join("|");

Assuming the HTML structure matches what's in your post, the above logic checks each checkbox to see if it is checked. If checked, it looks for the related <span> tag to get the name (eg// "Contemporary Arts"). This should work whether there's one option or 100.