如何从ajax获取Select2 v4.0对象

时间:2015-10-27 20:49:50

标签: ajax jquery-select2

我有一点点javascript

$(".tags").select2({
tags: true,
createTag: function(params) { 
    var select2_object = $(this).parent();
    $.get($(this).parent().parent().data('url'), function(data) {
        return {
            id: 'new_' + params.term,
            text: params.term
        };
   });  
},

});

在createTag函数中,我将通过ajax在数据库中创建一条新记录。但是ajax url是从数据属性动态设置的。所以我需要访问Select2数据属性。

var select2_object没有返回给我正确的Select2对象。

我可以获得Select2 jQuery对象吗?

1 个答案:

答案 0 :(得分:1)

检查this fiddle

<select multiple="true" name="tags[]" id="tagSelector" class="select2" data-url="URL HERE">
    <option value="1">Value1</option>
    <option value="2">Value2</option>
    <option value="3">Value2</option>
</select>

$('.select2').select2({
    tags: true,
    tokenSeparators: [",", " "]
}).on("change", function(e) {
    alert($(this).data('url'));
    var _new = $(this).find('[data-select2-tag="true"]');
    if (_new.length) {
        _new.replaceWith('<option selected value="' + _new.val() + '">' + _new.val() + '</option>');
    }
});