使用jquery标记输入时出现意外的“null”标记字段 - 如何摆脱它?

时间:2012-01-06 00:23:42

标签: javascript jquery jquery-plugins ruby-on-rails-3.1 jquery-tokeninput

我关注了这个截屏视频:http://railscasts.com/episodes/258-token-fields?view=asciicast

作为其中一个步骤,我按照建议添加了prepopulate选项,并使编辑表单运行良好。这是javascript,用coffeescript编写,因为我使用的是Rails 3.1:

  $("#location_token_field").tokenInput "/person/locations.json", {
    crossDomain: false,
    prePopulate: $(this).data("pre"),
    theme: "facebook",
    preventDuplicates: true
  }

除了现在,在#new动作中,令牌输入字段始终以“null”开头,这一切都很好。

以下是相关表单部分:

    <div id="location_area">
        <%= link_to image_tag("location_icon2.png", :size=>"35x35"), "javascript:void(0)", id: "location_icon", class: "blank_button" %>
        <div id="location_field">
            <%= f.text_field :location_tokens, id: "location_token_field", placeholder: "Where?", 
                "data-pre" => memory.locations.map(&:attributes).to_json %>
        </div>
    </div>

为什么会发生这种情况/如何解决这个问题?我想继续预先填写,以便适当填充编辑表格。

1 个答案:

答案 0 :(得分:1)

只是从你的JavaScript开始,看起来你错过了一些括号:

尝试:

 $("#location_token_field").tokenInput("/person/locations.json", {
    crossDomain: false,
    prePopulate: $(this).data("pre"),
    theme: "facebook",
    preventDuplicates: true
  });

看看是否有帮助。