如何使用Datalayer.push一个复选框变量

时间:2018-05-07 08:08:01

标签: javascript html checkbox push google-datalayer

我希望有人能帮我弄清楚如何从提交期间用户在表单上选中的复选框中获取datalayer.push数据。表单有很多字段,但我只想要已经选中的复选框。

这就是表单的样子(它有4个复选框)

<div class="form-choice-group ">
  <div class="form-check form-check--text-normal ">
    <input data-validetta="minChecked[1]" data-vd-parent-up="2" data-vd-message-minChecked="Vali vähemalt 1 teenus" type="checkbox" id="check-grey-0" class="form-check__input" name="teenused[]" value="IT (ITH, Office 365, seadmemajutus, IoT jne)">
    <label for="check-grey-0" class="form-check__label ">
                                <span class="form-check__indicator">
                                    <svg class="icon form-check__icon">
                                        <use xlink:href="/tk-telia-theme/images/icons.svg#check"></use>
                                    </svg>
                                </span>
                                <span class="form-check__text ">
        IT (ITH, Office 365, seadmemajutus, IoT jne)
                                </span>

                            </label>
  </div>
</div>

这就是我的数据层看起来像

dataLayer.push({
        'event' : 'GAEvent',
        'eventCategory' : 'Uue Äri/IT kliendi müügivõistlus',
        'eventAction' : 'Saada müügivõimalus',
        'eventLabel' : $('.form-check__input').val()
    });

但它没有正确提交变量,而datalayer表示eventLabel未定义,所以我猜这是错误的$('.form-check__input').val()

1 个答案:

答案 0 :(得分:1)

您需要检查何时致电dataLayer.push

如果在document.ready之后或在更改时或在表单submit-event上调用该函数。视情况而定,undefined函数调用时复选框的值为dataLayer.push

要获取已选中复选框的值,请使用: $('.form-check__input:checked').serialize();