0

我创建了一个表单,用户可以在其中创建一个配置文件并使用jquery tokenInput从autocomplete标记字段中选择关键字。问题是,只要在文本字段中调用.tokenInput(),表单提交时就不会发送文本中的文本。 我正在使用mongodb。 这里是我的个人资料类:使用jquery-tokeninput时字段内容为空

class Profile 
    include Mongoid::Document 
    include Mongoid::Timestamps 


    field :status, type: String 
    field :displayname, type: String 
    field :city, type: String 
    field :country, type: String 
    field "_id", type: String, default: ->{ displayname.to_s.parameterize} 

    attr_accessible :user_tags, :displayname, :city, :country, :tagg_tokens 

    attr_reader :tagg_tokens 

    belongs_to :user 

end 

我的CoffeeScript文件:

$( “#profile_tagg_tokens”)tokenInput '/taggs.json' 主题:“Facebook的

我的表格:

=f.text_field :tagg_tokens 

其他人有过这个问题吗? thx为您的帮助

+0

看看这个演示页面的源代码http://loopj.com/jquery-tokeninput/demo.html#pre-populated – jvnill 2013-02-18 12:49:32

+1

thx为您的答复,但它并没有真正帮助我 – user1445685 2013-02-18 13:02:04

+0

你说,你已经在文本字段上的文本,这意味着你正在寻找与我刚刚链接到的令牌预先填充文本字段。 – jvnill 2013-02-18 13:04:55

回答

0

令牌只是默认生成一个简单的HTML,所以没有部分令牌与窗体一起发送。我建议你看一下使用回调之一添加一个隐藏输入

onAdd: function (item) { $('form').append('<input type="hidden" value=' + item.id + '>' } 

我没有测试过一个,但你应该明白我的意思。您还可以使用其他选项叫 tokenFormatter(也未测试)

tokenFormatter: function(item){ return '<li><p>' + item.propertyToSearch + '</p><input type="hidden" value=' + item.id + '></li>' } 
+0

听起来对我很好。现在尝试 – user1445685 2013-02-18 13:45:55

+1

我设法使它工作,但不得不为我的口味编写太多的代码。 可能有一些方法让插件自行处理该过程。如果没有,我会尝试找到另一个插件 – user1445685 2013-02-18 15:44:24