在页面上的多个输入上使用tokeninput jquery插件

我正在使用来自loopj.com的jquery tokeninput插件。这是我的JS文件:

$(document).ready(function() { // Token input plugin: $("#issuer").tokenInput("/issuers.json",{ crossDomain: false, theme: "facebook", prePopulate: $("#issuer").data("pre"), preventDuplicates: true }); $("#shareholder").tokenInput("/shareholders.json",{ crossDomain: false, theme: "facebook", prePopulate: $("#shareholder").data("pre"), preventDuplicates: true }); }); 

这是我的标记:

 
\


我的tokenize插件适用于#issuer但不适#shareholder ,如果我使用顶部的#shareholder选择器移动jQuery代码,令牌输入代码适用于#shareholder但停止为另一个工作。 我怎么能让它们都适用于它们?

此外,如果我在编辑模式下具有相同标记的相同表单 – 这意味着data-pre具有有效的JSON而不是[null] ,则令牌输入适用于这两个字段。

我真的不知道它为什么不适合你。 我通常使用此脚本将tokenInput添加到多个字段:

 $(".token_input").each(function(){ var el = $(this); el.tokenInput(el.data("url"), { crossDomain: false, theme: "facebook", prePopulate: el.data("pre"), preventDuplicates: true }); }); 

token_input作为类和data-url属性添加到输入字段非常重要。 这是我如何做到的(在Rails中):

 <%= f.text_field :issuer_tokens, :class => "token_input", "data-url" => "/issuers.json", "data-pre" => @certificate.issuers.map(&:attributes).to_json %> <%= f.text_field :shareholder_tokens, :class => "token_input", "data-url" => "/shareholders.json", "data-pre" => @certificate.shareholders.map(&:attributes).to_json %> 

希望对你有效。 如果它不起作用,请尝试下载新版本的tokenInput。