Rails 3:选择带有“添加新”功能的框

时间:2012-03-12 19:55:57

标签: jquery ruby-on-rails-3 drop-down-menu

我正在尝试在视图中实现一个选择框,该视图中填充了来自另一个模型(称为comptes)的数据。以下是视图的代码:

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

我要做的是:当用户选择最后一个选项('Ajouter compte')时,我希望系统打开一个新窗口并转到new_compte_path。

我认为Jquery可以提供帮助,但我不知道该怎么做。

1 个答案:

答案 0 :(得分:0)

我过去做过类似的事情。您需要一个事件处理程序来检测何时选择该选项;如果是,打开一个模态,您可以在其中输入新公司的详细信息。当用户点击OK时,通过AJAX添加公司,如果添加成功,请将该项添加到选项列表中并选择它。

为此,您需要在“添加公司”选项中使用ID,以便jQuery可以找到它,然后使用事件处理程序来处理它。我认为我使用了“选项/ onclick”,但“选择/更改”可能更正确(虽然可能不适用于IE!IE通常不会发送“已更改”事件,直到某个字段失去焦点。)。

希望这有帮助!