jQuery Tokeninput如果不存在则添加

Fra*_*ank 19 php jquery jquery-tokeninput

我正在编写一个基于用户输入的脚本,

我有一些字段需要从数据库中获取其值,

如果没有找到条目,我想添加一个新值,以便下一个用户通过自动完成找到它.

我发现这个外观漂亮且易于实现的jquery插件叫做TokenInput,但它似乎没有

接受我的数据库查询中不可用的条目.

这是插件的链接:http://loopj.com/jquery-tokeninput/demo.html

这有解决方法吗?或者你建议另一个已经有这个功能的插件.

我有点担心这类网站的安全方面是否有一些我需要在进行此类实施时需要注意的事项?

mee*_*ash 17

现在使用allowFreeTagging选项在此插件的最新master中处理:https://github.com/loopj/jquery-tokeninput/blob/master/src/jquery.tokeninput.js#L57

版本号和文档在2年内未更新,因此您必须使用master.


Sha*_*awn 13

在字段上启用tokenInput时

$(selector).tokenInput(url, ...
Run Code Online (Sandbox Code Playgroud)

该url是tokenInput发送搜索查询的位置.它指向一个脚本,该脚本根据与搜索查询匹配的数据库条目返回建议.你想要的是当数据库中没有任何东西与搜索查询匹配时,让该脚本为该情况添加另一个建议.如何做到这一点在很大程度上取决于脚本.

因为你标记了你的问题php,我猜这个url指向一个php脚本,它返回一个充满建议的JSON对象.在这种情况下,修改php脚本,以便向列表添加建议:

"{id: " . $idForThisNewSuggestion . ", name: \"" . $searchQueryString . " (new suggestion)\"}"
Run Code Online (Sandbox Code Playgroud)


小智 10

这是我对本地json的解决方案

$("#input").tokenInput(yourjsondata,{
    preventDuplicates: false,
    onResult: function (item) {
        if($.isEmptyObject(item)){
              return [{id:'0',name: $("tester").text()}]
        }else{
              return item
        }

    },
});
Run Code Online (Sandbox Code Playgroud)

ID为0的所有内容都是新条目