Ajax要求日期差异

时间:2012-08-21 08:53:14

标签: ruby-on-rails

在我的_form.html.erb中,我有两个DatePicker: -

<div class="field">
    <!--%= f.label :leaveFrom %-->
    <div><%= f.text_field :leaveFrom, :id => 'datepicker4', :placeholder => "From Date"%></div>
  </div>
  <div class="field">
    <!--%= f.label :leaveTo %-->
    <div><%= f.text_field :leaveTo, :id => 'datepicker5', :placeholder => "To Date" %></div>
  </div>

我的要求是计算这两个日期之间的日期差异,而不是表格提交。一旦我选择“To Date”,它就会显示没有天数。我无法实现ajax调用。可以任何人提供一些解决方案来实现这一点。

2 个答案:

答案 0 :(得分:3)

我认为最好的方法是使用java脚本显示差异,而不是调用ajax.var leaveFrom =

    function dayDiff(){
      var leavefrom = $('.datepicker4').datepicker('getDate');
      var leaveto = $('.datepicker5').datepicker('getDate');
      var dayDiff = Math.ceil((leavefrom - leaveto) / (1000 * 60 * 60 * 24));
   }

在选择日期或提交表格之前致电此。

答案 1 :(得分:1)

尝试使用jQuery,假设CalculatorController具有date_diff方法

$(function() {
 $('#datepicker5').live("change", function() {
    $.ajax({
        url: "/calculator/date_diff",
        type: "POST",
        data: {date1 : $("#datepicker4").val(), date2 : $("#datepicker5").val()}
        success: function(result) {
            alert(result);
        }
    });
 });
});