Rails + Radio Buttons + AJAX:如何在单选按钮上单击渲染?
我有一个电子商务网站的结帐表单。 它有用于运送选项(快递,标准等)的单选按钮,我希望它显示的动态值,以显示在用户使用AJAX单击的按钮旁边的
p.label_delivery_date
标记内。 这是我的HTML:
我知道我可以在我的单选按钮上执行:onclick
选项,但这只会将我发送到javascript文件。 我需要能够传递我的动态shipping_delivered_day
值,所以我需要rails来处理它。 如何从单选按钮发送JS请求?
Ruby / Rails实际上提供了一种非常灵活的方法。 您所要做的就是让单选按钮调用javascript函数,然后将部分渲染放在该函数中,如下所示:
<%= radio_button :model, :field, :value, :onclick => "render_partial();" %>
这将在单击单选按钮时将给定的部分渲染到“部分区域”div中。 对于多个部分,只需要在同一个div上运行多个函数。 在您的特定实例中,您希望您的部分代码包含一些代码,这些代码将决定您的送货日期。 您可以使用locals render :partial => "ship_3day", :locals => {:p => @product}
( render :partial => "ship_3day", :locals => {:p => @product}
)并让您的部分返回相应的结果( <%= p.shipping_delivered_day %>
)。