我有一点点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对象吗?
答案 0 :(得分:1)
<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>');
}
});