0

railscasts ep#382 & ep#258のおかげで、ユーザーがタグを検索したり、新しいタグを作成したりできるタグ付けの目的で jQuery トークン入力を実装しました。データはtags.json、タグ コントローラーのインデックス アクションである URL から取得されます。tags.json のデータは次のようになります。

[
  {
    "created_at":"2013-06-21T16:30:19Z",
    "explanation":"hitting the hosel of the club",
    "id":8,
    "name":"shank",
    "updated_at":"2013-06-21T16:30:19Z",
    "updated_by":"andy"
  },
  {
    "created_at":"2013-06-22T17:40:37Z",
    "explanation":"hitting the ground before the ball",
    "id":12,
    "name":"chunk",
    "updated_at":"2013-06-22T17:40:37Z",
    "updated_by":"andy"
  }
]

私のタグには名前と説明があるので、トークンと結果のフォーマットのデモhttp://loopj.com/jquery-tokeninput/demo.html#formattingのように結果リストに含めたいと思います。

以下のコード (簡潔にするために省略されているエントリの数) は、jQuery tokenInput Token and Results Formattingデモからのものです。

ここに "name": "Shank" を手動で入力し、他の省略されたエントリを入力する代わりに、tags.json ハッシュから名前と説明を抽出し、それらを結果フォーマッタ行 (例: item) と同じように使用するにはどうすればよいですか。名前とアイテム.説明?

tags.js

jQuery(function() {
var question = $('#question_tag_tokens')
  return question.tokenInput([{
       "name": "Shank",
       "explanation": "hitting the hosel of the club"
   }
 ], {
    propertyToSearch: ["name"],
    resultsFormatter: function(item){ return "<li>" + "<div class='tag' style='display:inline;color:#fff;'>" + item.name + "</div>" + " " + item.explanation + "</li>" },
    prePopulate: question.data('preload')
  });
});
4

1 に答える 1