如何在rails(3.1.0)ajax中的jquery日期选择器上设置空白日期



在我们的rails 3.1.0应用程序中,ajax用于加载带有jquery日期选择器的视图,以获取return_date。application.js中return_date的js代码为:

// for AJAX
$(function() {
   $("#test_sample_return_date").live('click', function() {
        $(this).datepicker({dateFormat: 'yy-mm-dd', showOn:'focus' }).focus();
    });   
}); 

有了这个实现,当视图以ajax方式加载时,就会加载日期选择器。但是,return_date中始终将"0001/1/1"设置为默认值,而不是根据需要设置为空白。日期选择器的选项,如currentText、defaultDate不起作用。使用CCD_ 1。但是,只有在用户首先单击return_date字段(最初加载"0001/1/1")后,才删除value属性。

关于如何在rails-ajax中为日期选择器设置空白,有什么想法吗?非常感谢。

更新:

以下是加载return_date:的一行rails simple_form代码

  <%= f.input :return_date, :label => "Return Date: ", :as => :string %>  

return_date是一个日期字段。:as选项将return_date作为字符串而不是日期加载到文本框中。单击return_date框时,将启动并显示日期选择器。

您的$(this).removeAttr('value')方法应该可以工作,但您在click函数上调用datepicker。我会在$(document).ready()上执行此操作。这里有一个例子:

$(document).ready(function()
{
    $("#test_sample_return_date").datepicker({dateFormat: 'yy-mm-dd', showOn:'focus' }).focus().val('');
});

我只是在末尾添加了.val(''),但您也可以这样做:

$("#test_sample_return_date").datepicker({dateFormat: 'yy-mm-dd', showOn:'focus' }).focus().removeAttr('value')

编辑:

我刚刚做了一个测试,发现.val('')实际上并没有删除这个值。.removeAttr('value')似乎做到了!

将showOn选项设置为"按钮"

$("#test_sample_return_date").datepicker({dateFormat: 'yy-mm-dd', showOn:'button' })

最新更新