Expand my Community achievements bar.

Nomination window for the Adobe Community Advisor Program, Class of 2025, is now open!
SOLVED

Adobe Launch: Rule to Capture ID for a Clicked Checkbox

Avatar

Level 4

I have a series of check boxes. See source HTML below.

When the checkbox is clicked, I want Adobe Launch to capture the "id" and push into Adobe Analytics which clicked without having to wait for a pageload.

I have configured a rule to capture "id" for element "input" on mouse click.

However, the rule captures the 1st element "input" not the "input" which was clicked.

How do you configure a rule to capture the id for a clicked checkbox?

Can this be done without custom Javascript?

<input type="checkbox" id="Return3year" name="performance_returnsThreeYears" class=" skitchen-menu-input" value="performance_returnsThreeYears" data-bind="checked: orders().indexOf(&quot;performance_returnsThreeYears&quot;) >= 0">

<input type="checkbox" id="Return5year" name="performance_returnsFiveYears" class=" skitchen-menu-input" value="performance_returnsFiveYears" data-bind="checked: orders().indexOf(&quot;performance_returnsFiveYears&quot;) >= 0">

<input type="checkbox" id="Return10year" name="performance_returnsTenYears" class=" skitchen-menu-input" value="performance_returnsTenYears" data-bind="checked: orders().indexOf(&quot;performance_returnsTenYears&quot;) >= 0">

1 Accepted Solution

Avatar

Correct answer by
Level 4

I figured it out...

This will capture the current value of ID on each click...

temp1.png

View solution in original post

7 Replies

Avatar

Level 10

Can you post a screenshot of how you've configured the rule? I'm not sure if this can be done in the interface, but it could definitely be done with some custom JavaScript.

Avatar

Level 4

Thanks

temp1.png

temp2.png

temp3.png

temp4.png

temp5.png

Avatar

Correct answer by
Level 4

I figured it out...

This will capture the current value of ID on each click...

temp1.png

Avatar

Level 10

I'm glad you were able to figure it out. i was going to suggest looking into the "this" keyword for JavaScript/jQuery.

Avatar

Level 3

How did you specify the %this.id% data element?

Avatar

Level 4

No, I did not specify this %this.id% as a data element.

Thanks

Avatar

Level 2

My best solution has been to create a data element with the custom code below which allows me to loop through each item with the <a> tag, find the index of the onclick, and return the text value.

 

It's interesting to see "this" being used - I'll have to give that a try!

 

 

var pageItemA = document.getElementsByTagName('a');
for (var pageItemAi = 0, len = pageItemA.length; pageItemAi<len; pageItemAi++) 
{ 
  (function(index) { 
    pageItemA[pageItemAi].onclick = function() {
      var pageSelectionA = document.getElementsByTagName('a')[index].textContent;
      _satellite.track("pageItemClick",{pageItem: pageSelectionA});
    } 
  }) (pageItemAi); 
}