javascript - 访问 $(this) 值返回未定义的 jquery

标签 javascript jquery this jquery-select2

我尝试在 select2 初始化中访问 $(this),但它返回 undefined

$(".tags").each(function() {
    var placeholder = "Select Email";
    if($(this).attr('name') === 'names[]')
        placeholder = "Select Name";
    $(this).select2({
        tags: true,
        placeholder: placeholder,
        language: {
            noResults: function () {
                return 'Type and enter to add new';
            },
        },
        escapeMarkup: function (markup) {
            return markup;
        },
        createTag: function(params) {
            console.log($(this).attr('name')); // returns undefined
            if (params.term.indexOf('@') === -1)
                return null;
            return {
                id: params.term,
                text: params.term
            }
        }
    })
});

select2() 针对每个 .tags 进行初始化。我需要在此处的初始化中访问 $(this)

我怎样才能做到这一点?

最佳答案

在调用 select2() 之前,您可以保留对 $(this) 的引用

$(".tags").each(function() {
    var placeholder = "Select Email";
    var $that = $(this);


    if($that.attr('name') === 'names[]')
        placeholder = "Select Name";
    $that.select2({
        tags: true,
        placeholder: placeholder,
        language: {
            noResults: function () {
                return 'Type and enter to add new';
            },
        },
        escapeMarkup: function (markup) {
            return markup;
        },
        createTag: function(params) {
            console.log($that.attr('name'));
            if (params.term.indexOf('@') === -1)
                return null;
            return {
                id: params.term,
                text: params.term
            }
        }
    })
});

希望这有帮助

关于javascript - 访问 $(this) 值返回未定义的 jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59840079/

相关文章:

javascript - javascript/jquery 中的 LinQ foreach

javascript - 在 JS 中将对象数组中的对象成员值提取到它们自己的数组中的简洁方法

javascript - ajax运行时如何禁用点击功能,同一个点击启动ajax运行,ajax完成后,重新启用点击功能

c++ - 构造函数和 "this"指针

java - else if 中明显的错误条件,没有给出内部 body 的死代码

javascript - 使用 CasperJS 将 APK 文件上传到 Google Play

c# - 如何将参数从 javascript 传递到通用处理程序?

javascript - 使用 Jquery 在页面加载时有条件地选中该框

javascript - 获取类型错误:e is undefined in firebug while running a script

javascript - 在我的例子中如何正确使用Javascript 'this'?