【问题标题】:Positioning input box of tokeninputtokeninput的定位输入框
【发布时间】:2013-09-04 13:41:17
【问题描述】:

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

【问题讨论】:

  • 你是什么意思'背后的令牌'?如在它们的左侧,还是在 z-index 后面?如果合适的话,你能拼凑一个 jsfiddle,或者张贴一张图片吗?
  • 嘿,克里斯,在他们的左边 :)

标签: jquery jquery-tokeninput


【解决方案1】:

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

作为最简单的解决方法,将您的令牌包装在 &lt;li&gt; 中,如下所示。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-20
    相关资源
    最近更新 更多