Проблема с датой Ajax выберите значение onchange - PullRequest
0 голосов
/ 05 января 2011

Когда я использую AJAX для date_select значение передают в качестве параметра только значение, которое было изменено, но мне также нужны значения каждого поля.

Пример

DATESELECT

5 июня 2011 => Изменить на 6 июня 2011, но AJAX VALUE передают в параметрах только значение «6».

Мне нужны день, месяц и год.

Мой код Просмотр <%form_for (@operation,: url => submit_cancellation_admin_operation_path) do | f |%> <% = 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 

Спасибо

1 Ответ

0 голосов
/ 17 февраля 2011

Я использую jQuery для решения этой проблемы. лучшие решения, чтобы выслушать (или прочитать) ваши предложения (извините, я использую Google Translate для этой фразы).

<%= 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()")}"}) %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...