访问"这"在Fuel UX placard onAccept功能

时间:2015-03-13 15:17:05

标签: javascript jquery fuelux

我在页面上有几个Fuel UX标语牌,只有一个jQuery选择器来初始化它们。我需要编写一个自定义onAccept函数来处理标语牌确认。

似乎我应该能够从$(this)中访问onAccept来访问正在初始化的元素,但它只是指向window对象。

如何访问标语onAccept函数中的当前元素?

这是我的参考代码:

$(".select-user-placard").placard({explicit: true, onAccept: function (helpers) {
    DMSC.UpdateUser(DMSC.SelectedForm.Id, $(this).data("field-type"), helpers.value);
}});

我需要调用此函数传递从元素上的data-attribute检索的参数,但我不确定如何在不使用this的情况下访问当前元素。< / p>

1 个答案:

答案 0 :(得分:0)

我想我无法访问this,我无法想到明显的解决方案:

            $(".select-user-placard").each(function (index, element) {
                var $element = $(element);

                $element.placard({explicit: true, onAccept: function (helpers) {
                    DMSC.UpdateUser(DMSC.SelectedForm.Id, $element.data("field-type"), helpers.value);
                }});
            });

我不是在jQuery选择器上调用placard,而是使用jQuery的each迭代每个,只需使用jQuery迭代器来选择该元素的数据。