私はRailsアプリケーションでJquery TokenInputを使用して、ユーザーが情報をすばやく入力できるようにしています。各ユーザーには、同じクラスの多数のアイテムがあるプロファイルがあり、それを「college_items」と呼んでください。各college_itemには独自の編集リンクがあり、モーダルの適切な編集フォームをモーダルにポップアップします。同じJQueryトークン入力ボックスをページ上で複数回使用する
私はライアンベイツのスクリーンキャストを踏襲し、TokenInputは、次のコードを使用して正常に動作していました:私の見解では
$(function() {
$("#education_major_tokens").tokenInput("/majors.json", {
theme: "facebook"
})
});
:application.jsで
を私のモデルでは
<%= f.text_field :major_tokens %>
:
def major_tokens=(ids)
self.major_ids = ids.split(",")
end
私が実行している問題は、この同じフィールドが各編集フォームに表示されることです。そのため、最初のアイテムの編集フォームではすべてが完全に機能しますが、他のアイテムの編集フォームではJavaScriptは初期化されません。私の質問は、このフォーム要素が表示されるたびに初期化するようにjavascriptを変更する方法です。
EDIT: 私はこのような何かが解決策になるかもしれないと思った:
$(function() {
$("#education_major_tokens").each(function(){
$(this).tokenInput("/majors.json", {
theme: "facebook"
})
});
});
が、それはまだ私のために働いていません。誰でもそこに誰かアイデアがありますか?
EDIT 2: これを最後に考え出します。 #education_major_tokensを使用する代わりに、私は各入力を以下のように設定します:class => "major_input"とコードの "#education_major_tokens"を ".major_input"に変更しました