尝试让Select2删除一个项目并找出为什么它会在更新时不断添加新标记。
使用Select2.JS V3.5
关注ActiveAdmin / Select2 example
当我尝试删除某个项目时,它不会将其删除。它还最终将标记列表组合到新的STRING中,从而创建新标记。即如果我有[“play”,“doe”]并且我更新另一个字段,它会创建一个名为“play doe”的新标签,从而产生[“play”,“doe”,“play doe”]。每次更新时都会继续。
这是我的JS代码
// Generated by CoffeeScript 1.9.3
$(document).ready(function() {
$('.tagselect').each(function() {
var placeholder, saved, url;
placeholder = $(this).data('placeholder');
url = $(this).data('url');
saved = $(this).data('saved');
$(this).select2({
tags: true,
placeholder: placeholder,
minimumInputLength: 3,
allowClear: true,
multiple: true,
debug: true,
initSelection: function(element, callback) {
saved && callback(saved);
},
ajax: {
url: url,
dataType: 'json',
data: function(term) {
return {
q: term
};
},
results: function(data) {
return {
results: data
};
}
},
createSearchChoice: function(term, data) {
if ($(data).filter((function() {
return this.text.localeCompare(term) === 0;
})).length === 0) {
return {
id: term,
text: term
};
}
}
});
});
});
答案 0 :(得分:0)
看见https://github.com/mbleigh/acts-as-taggable-on/issues/676
在我的模型中添加块,修复了formtastic bug,其中所有标记作为扁平字符串与逗号分隔字符串进入。猴子补丁现在。
SELECT GROUP_CONCAT(DISTINCT parent.place_name ORDER BY parent.lft DESC SEPARATOR ',') AS place_name
FROM address AS node,
address AS parent
WHERE node.lft BETWEEN parent.lft AND parent.rgt
GROUP BY node.id