2012-03-12 16 views
1

私は別のモデル(comptesと呼ばれる)からのデータで設定されたビューに選択ボックスを実装しようとしています。ここでは、ビューのコードは次のとおりです。私は何をしようとしているRails 3: "新規追加"機能付きの選択ボックス

<%= f.select(:debit, @in.collect {|p| [p.nom, p.numero]} + ['Ajouter compte'], {:include_blank => 'Sur quel compte?'})%> 

がある:ユーザーが最後のオプション(「Ajouterのcompte」)を選択したときに、私は、システムが新しいウィンドウを開き、に行きたいですnew_compte_path。

私はJqueryが助けてくれると思いますが、どうやってそれを行うのか分かりません。

答えて

0

私は過去に同様のことをしました。そのオプションがいつ選択されるかを検出するには、イベントハンドラが必要です。そうであれば、新しい会社の詳細を入力できるモーダルを開きます。ユーザーがOKを押すと、AJAX経由で会社を追加し、追加が成功した場合は、その項目をオプションリストに追加して選択します。

これを行うには、「Add Company」オプションにIDが必要です.jQueryがそれを見つけることができるようにするためにIDを必要とし、それを処理するイベントハンドラを選択します。私は "option/onclick"を使ったと思うが、 "select/changed"はおそらくもっと正しいだろう(IEではうまくいきません!IEはフィールドがフォーカスを失うまで「変更された」イベントを送信しません。

希望すると便利です。

+0

新しいコンパルト部分を表示する新しいモーダルウィンドウを開く方法が見つかりました。しかし、私は(モーダルビューで)提出すると、それはcompteインデックスに戻ります...ユーザーがすでにモーダル(no)の前に入力したデータを保持して作成した後、 "親"フォームに戻る方法はありますか?ページをリフレッシュする...) – Dannoel

+0

@Dannoel - 通常のフォーム提出ではなく、AJAXを使用する必要があります。フォームを送信すると、ブラウザはサーバーから返されたリダイレクトに従います。 AJAXを使用すると、それはしません、そして、あなたは同じページにとどまることができます。 –

関連する問題