当我在date_select上使用AJAX时,值仅作为参数传递已更改的值 但我也需要每个领域的价值观。
实施例
DATESELECT
2011年6月5日=>更改为2011年6月6日,但AJAX VALUE仅传递参数值“6”。
我需要日,月和年。
我的代码 风景 <%form_for(@ operation,:url => submit_cancellation_admin_operation_path)do | f | %GT; <%= f.error_messages%>
<p>Fecha de Pago:<br/><br/>
<%= date_select("", :payment_date, {:start_date => Time.now - 10}, {:onchange =>"#{remote_function(:url => {:controller => 'operations', :action => "update_payment_date"}, :with => "'payment_date='+value")}"}) %>
</p>
<% end %>
控制器
def cancel
@operation = Operation.find(params[:id])
last_pagare = Pagare.find(:first, :conditions => "operation_id = #{@operation.id} AND state <> 'cancelled'")
#The condition unless is because the last_pagare could be nil if the operation is totally cancelled
@punitive_ammount = @operation.get_punitive(DateTime.now.to_date, last_pagare.expiration_date.to_date) unless last_pagare.nil?
end
def update_payment_date
#Here I take the params
end
由于
答案 0 :(得分:0)
我使用jQuery来解决这个问题。倾听(或阅读)您的建议的最佳解决方案(借口我使用谷歌翻译为这个短语)。
<%= date_select("", :payment_date, {:start_date => Time.now - 10}, {:onchange =>"#{remote_function(:url => {:controller => 'operations', :action => "update_payment_date", :id=> @operation.id},
:with => "'payment_date_1i='+$j('#_payment_date_1i').val()+'&payment_date_2i='+$j('#_payment_date_2i').val()+'&payment_date_3i='+$j('#_payment_date_3i').val()")}"}) %>