我们正在使用Select2作为标签输入。我们需要在选择标签时触发自动保存。当选择新标签或现有标签时,Select2中是否有回调?
$(".tagstypeahead").select2({
tags: true,
tokenSeparators: [','],
createSearchChoice: function (term) {
return {
id: $.trim(term),
text: $.trim(term) // + ' (new tag)' - Adds new tag to the end here
};
},
ajax: {
url: '/tags/typeahead.json',
dataType: 'json',
data: function(term, page) {
return {
q: term
};
},
results: function(data, page) {
return {
results: data
};
}
},
// Take default tags from the input value
initSelection: function (element, callback) {
var data = [];
function splitVal(string, separator) {
var val, i, l;
if (string === null || string.length < 1) return [];
val = string.split(separator);
for (i = 0, l = val.length; i < l; i = i + 1) val[i] = $.trim(val[i]);
return val;
}
$(splitVal(element.val(), ",")).each(function () {
data.push({
id: this,
text: this
});
});
callback(data);
}
});
答案 0 :(得分:0)
我不认为select2
有更改回调,但您可以使用jQuery
在该元素上绑定更改事件
$elem.unbind('change');
$elem.change(function (e) {
var tags = $elem.select2('data');
// code
});