我使用jQuery Tokeninput作为在书籍创建页面上添加作者的方法。
如果输入的作者存在于数据库中,它将在下拉列表中显示为可点击的令牌。但是,如果没有找到结果,则下拉列表将仅显示一条消息,通知用户他们的查询没有结果。我想要的是Tokeninput在没有结果的下拉列表中提供可点击的选项,而不仅仅是显示消息。
因为我的Tokeninput字段仅用于查找现有作者。如果用户输入的名称尚不存在,我想提供一个选项来创建他/她。因此,我不想只是发出一条消息说“没有找到结果"”,而是希望按照&#34的顺序选择一个可点击的选项;输入的作者尚不存在。添加姓氏'现在&#34?;然后显示用于添加新作者的非令牌输入表单。
令牌输入源代码:
https://github.com/loopj/jquery-tokeninput/blob/master/src/jquery.tokeninput.js
答案 0 :(得分:2)
我会考虑启用免费标记,并使用onFreeTaggingAdd
回调,以便您可以使用用户已经在TokenInput中输入的搜索查询,并保存它们两次输入。
这另外还有允许用户创建可能是现有作者的子字符串的新作者的插件。 (例如Chris Smith,Chris Smithson)
有点像这样:
$(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上的版本已经过时。