我有点坚持使用jQuery tokeninput,我已经入侵了它,因此它可以很好地将FreeTags添加到数据库并返回新标记的id和名称。现在我有另外一个问题,它定位输入自动完成区域,输入区域总是“在”标记“后面”,我希望它在标记前面。
如果有人能帮助我,我真的很感激。)
如果它有任何帮助,到目前为止我的代码。
$("#xxx").tokenInput("/get-tags", {
theme: "facebook",
noResultsText: "Hit enter to add",
searchingText: "Searching",
placeholder: 'Tags',
freeTaggingHint: true,
propertyToSearch: 'name',
allowFreeTagging: true,
tokenFormatter: function(item) { return "<p name=\"tags[]\" value=\""+item.id+"\">"+item.name+"</p>"; },
onFreeTaggingAdd: function (item) {
$.ajax({
type: "POST",
url: "/dev/ajax/add-tag/",
data: {
tag: item,
uid: 1
},
success: function(data) {
console.log(data);
jQuery("#tags").tokenInput("add", {id: data, name: item});
}
});
}
});
});
答案 0 :(得分:0)
我相信您的问题可能与您TokenFormatter
功能有关。 jQuery库的各个部分都依赖于令牌<li>
- 当我在div
中包装我的令牌时,我发现了这一点。
作为最简单的解决方案,请将您的令牌包裹在<li>
中,如下所示。
tokenFormatter: function(item) {
return "<li><p name=\"tags[]\" value=\""+item.id+"\">"+item.name+"</p></li>";
},
如果这与你的布局或其他东西混淆,那么你需要在图书馆本身中更改一些参考文献,这是一项更大的工作。