0

我有点坚持使用 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});
                }
                });
                }                             
        });
                                                                                    });
4

1 回答 1

0

我相信您的问题可能与您的TokenFormatter功能有关。jQuery 库的各个部分都依赖于's 的标记<li>- 当我将标记包装在div's 中时,我发现了这一点。

作为最简单的解决方法,将令牌包装在<li>'s 中,如下所示。

tokenFormatter: function(item) { 
   return "<li><p name=\"tags[]\" value=\""+item.id+"\">"+item.name+"</p></li>";  
}, 

如果这与您的布局或其他东西混淆,那么您将需要更改库本身中的一些引用,这是一项更大的工作。

于 2013-09-12T15:32:55.593 回答