jQuery Tokeninput 事件无结果

jQuery Tokeninput event on No results

我正在使用 jQuery Tokeninput 作为在图书创建页面上添加作者的方式。

如果输入的作者存在于数据库中,它将作为可点击标记显示在下拉列表中。但是,如果没有找到结果,下拉列表将只显示一条消息,通知用户他们的查询没有结果。我希望 Tokeninput 在没有结果的下拉菜单中提供一个可点击的选项,而不是仅仅显示一条消息。

因为我的 Tokeninput 字段仅用于查找现有作者。如果用户输入一个尚不存在的名称,我想提供一个选项以立即创建 him/her。因此,我不想只显示 "No results found" 的消息,而是希望有一个类似于 "Entered author does not yet exist. Add 'name surname' now?" 的可点击选项,然后显示用于添加新作者的非 Tokeninput 表单。

令牌输入源代码:
https://github.com/loopj/jquery-tokeninput/blob/master/src/jquery.tokeninput.js

我会考虑启用免费标记,并利用 onFreeTaggingAdd 回调,这样您就可以使用用户已经输入到 TokenInput 中的搜索查询,并节省他们输入两次的时间。

这还有一个好处,那就是允许用户创建一个新作者,该作者可能是现有作者的子字符串。 (例如克里斯·史密斯、克里斯·史密森)

有点像这样:

$(document).ready(function() {
    $("#my-text-input").tokenInput("/url/to/your/script/", {
        allowFreeTagging: true,
        noResultsText: "Author not recognised, hit enter to add",
        onFreeTaggingAdd: addNewAuthor(hiddenInput, token)
    });
});

function addNewAuthor(hiddenInput, token) {
    //Insert form-launching code here, using the author name in the token parameter
}

N.B。确保您使用来自 Github 的最新版本的插件来实现免费标记功能,loopj.com 上的版本已过时。