ruby-on-rails – rails 3中的onchange remote_function – 它有
发布时间:2020-12-17 03:26:57 所属栏目:百科 来源:网络整理
导读:我有两个问题. 我在rails 3应用程序中有一个select标签,如下所示: %= select(@adverse_event_template_settings,"display_arms",options_for_select([["Yes",true],["No",false]]),{ :selected = :display_arms },:onchange = remote_function(:update = "d
我有两个问题.
我在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})) %> 这就是我想要它做的事情 – 也就是说,当选择框值改变时调用控制器动作. 虽然这有效,但我想知道1)这在rails 3中有效吗?我知道这是一个突兀的javascript,但在rails 3中工作的remote_function对我来说似乎很奇怪 – 这里有什么不对吗? 如果以上内容无效,我真的非常想知道2)我怎么能不引人注意地完成同样的动作(即在同一个控制器中调用相同的动作)?有没有办法在导轨3中简单干净地做到这一点?我迫切需要编写这方面的帮助. 非常感谢! 解决方法
(我假设你使用的是jQuery).
我会将javascript部分放在.js文件中,并使用jQuery管理onchange事件. <%= select(@adverse_event_template_settings,{ :selected => :display_arms }) %> 并在js文件中: $(document).ready(function() { $('#display_arms').change(function(){ $.ajax({url: 'YOUR URL',data: 'display_arms=' + value,success: function(data){ $('#display_arms').html(data); } }) }); }); (我没有时间测试这个,但你明白了) 说实话,我不确定是否有办法不引人注意地做这种事情(或者我感兴趣!). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |