Sar*_*rah 5 ruby-on-rails ruby-on-rails-3
我有两个问题.
我在rails 3应用程序中有一个select标签,如下所示:
<%= select(@adverse_event_template_settings,
"display_arms",
options_for_select([["Yes", true], ["No", false]]),
{ :selected => :display_arms },
:onchange => remote_function(:update => "display_arms",
:method => "put",
:with => "'display_arms=' + value",
:url => { :controller => :adverse_event_template_settings,
:action => :update, :id => @aets.id})) %>
Run Code Online (Sandbox Code Playgroud)
这就是我想要它做的事情 - 也就是说,当选择框值改变时调用控制器动作.
虽然这有效,但我想知道1)这在rails 3中有效吗?我知道这是一个突兀的javascript,但在rails 3中工作的remote_function对我来说似乎很奇怪 - 这里有什么不对吗?
如果以上内容无效,我真的非常想知道2)我怎么能不引人注意地完成同样的动作(即在同一个控制器中调用相同的动作)?有没有办法在导轨3中简单干净地做到这一点?我迫切需要编写这方面的帮助.
非常感谢!如果您需要更多详细信息,请告诉我们.
(我假设你使用的是jQuery).
我会将javascript部分放在.js文件中,并使用jQuery管理onchange事件.
<%= select(@adverse_event_template_settings,
"display_arms",
options_for_select([["Yes", true], ["No", false]]),
{ :selected => :display_arms }) %>
Run Code Online (Sandbox Code Playgroud)
并在js文件中:
$(document).ready(function() {
$('#display_arms').change(function(){
$.ajax({url: 'YOUR URL',
data: 'display_arms=' + value,
success: function(data){
$('#display_arms').html(data);
}
})
});
});
Run Code Online (Sandbox Code Playgroud)
(我没有时间测试这个,但你明白了)
说实话,我不确定是否有办法不引人注意地做这种事情(或者我感兴趣!).
| 归档时间: |
|
| 查看次数: |
6393 次 |
| 最近记录: |