0

複数のタグのオートコンプリートにtokeninput プラグイン ( http://loopj.com/jquery-tokeninput/demo.htmlNew ) を使用していますが、フォームで問題なく動作しています。

ここで、編集フォームで同じものを事前に入力したいと思います。これは私が苦労しているところです。値を json 形式 (id と name) で返すファイルを 1 つ作成しました。これらの結果をサーバー ログからコピーして、tokeninput プラグインの prePopulate オプションに入れると、問題なく動作します。

しかし、私がこのようにすると

prePopulate: k.getJSON("tag_list_pre")

wheretag_list_preは、選択したタグを json 形式で返すアクションです。私が警告する場合

alert(getJSON("tag_list_pre"));

返さ[object Object]れ、何も事前設定されません。

私のファイルがjson形式のデータを返し、ビューのこちら側で目的の結果が得られない場合に問題があると思います。

同様の問題がこの質問で尋ねられていますが、まだ回答されていませんhttps://stackoverflow.com/q/5892326/489018

更新: 私は現在、http://railscasts.com/episodes/258-token-fields?view=asciicast と同じ方法を使用して ます入力。

それによるサンプル出力は

[{"id":"5","name":"payment-processing"},{"id":"8","name":"asd"},{"id":"15","name":"java"}]

これで、HTML テキスト タグは次のようになります。

<%= text_field_tag :project_tags, "data-pre" => @list1.to_json %>

ここで、list1 は ID と名前の形式の配列です @list1 のサンプル出力は次のようになります。

[{:id=>"5", :name=>"payment-processing"}, {:id=>"8", :name=>"asd"}, {:id=>"15", :name=>"java"}] 

新しい tokenInput は次のようになります。

  k("#project_tags").tokenInput("tag_list", {
  prePopulate: k("#project_tags", k(this)).data("pre"),
  hintText: "Enter Tags for your Project",
  noResultsText: "No Such Tags",
  searchingText: "Looking for your Tags",
  preventDuplicates: true,
  theme: "facebook"
 });

今私の問題は、何も事前設定されていないことです。他のすべては問題なく動作します。

ありがとう。さらに情報が必要な場合はお知らせください。

4

1 に答える 1

0

遅くなりましたが、正確な問題に遭遇しました。エラーはtext_field_tagの呼び出しにあります。

text_field_tag(name, value = nil, options = {})

ご覧のとおり、2 番目のパラメーターは の値でtext_field、3 番目はパラメーターですoptions。as として渡されるように、nilasを渡す必要があります。valuedata-preoption

<%= text_field_tag :project_tags, nil, "data-pre" => @list1.to_json %>

を渡さない場合valuedata-pretext_field

于 2014-07-15T13:32:00.983 に答える