1

有什么想法不选择令牌输入中已经选择的名称吗?例如,首先我在搜索 m 时选择 mango。下次当我搜索 m Mango 时,不应该显示芒果,因为已经选择了芒果。有什么想法吗?

 <%= f.text_field :plan_tokens, data: {load: @customer.plans} %>

我有我的 js 像这样的 jQuery ->

 $('#customer_plan_tokens').tokenInput '/plans.json'
    theme: 'facebook'
    prePopulate: $('#customer_plan_tokens').data('load')

在哪里放置 preventDuplicates:true。我确实尝试过,但出现错误!

我从

http://railscasts.com/episodes/258-token-fields

http://railscasts.com/episodes/258-token-fields-revised


4

1 回答 1

2

当您在 JavaScript 中初始化 tokeninput 时,您可以添加preventDuplicates: true,这将防止选择重复项,但它们仍会显示在结果中 ( demo )。

所以像:

$(...).tokenInput("url", { preventDuplicates: true, otherOptionsHere });

如果您根本不希望显示它们,则可能可以为onResult回调编写一些代码来检查字段的值并删除已经存在的那些。

编辑:由于您使用 CoffeeScript,请尝试

$('#customer_plan_tokens').tokenInput '/plans.json'
   theme: 'facebook'
   prePopulate: $('#customer_plan_tokens').data('load')
   preventDuplicates: true
于 2012-08-28T09:22:24.917 回答