0

在 rails 3.2.9 中,我使用 bootstrap 的 datepicker 来显示日期。在一个表单中,我需要为 2 个字段显示日期选择器。如果我单击第一个字段,则会弹出日期选择器。之后,如果我单击“选项卡”按钮,它将通过附加到第一个日期选择器来弹出第二个字段的日期选择器。我需要为特定字段一次显示一个日期选择器onclick。如果我单击“选项卡”按钮,则应隐藏第一个字段的日期选择器,并弹出第二个字段的日期选择器。

Javascript如下

function currentDatePicker(id){
var nowTemp = new Date();
var now = new Date(nowTemp.getFullYear(), nowTemp.getMonth(), nowTemp.getDate(), 0, 0, 0, 0);

$('#' + id).datepicker({
    format: "yyyy-mm-dd",
    onRender: function(date) {
        return date.valueOf() < now.valueOf() ? 'disabled' : '';
    }
});

}

在意见中,

<%= f.input :start_date, :as=>:string, :label =>"Start Date", :required => false,
  :input_html=>{:readonly=>true, :value=>@user.start_date.blank? ? "" : @user.start_date} %>

<%= f.input :end_date, :as=>:string, :label =>"End Date", :required =>false,
  :input_html=>{:readonly=>true, :value=>@user.end_date.blank? ? "" : @user.end_date} %>

<script type="text/javascript">
 currentDatePicker('user_start_date');
 currentDatePicker('user_end_date');
</script>

有关更多信息,我已添加图像

上面我添加了一张图片以获取更多信息。请帮我解决这个问题。

4

2 回答 2

1

您可以为日期选择器使用不同的 id,然后对 id 使用事件处理。单击第二个日期选择器时手动隐藏第一个日期选择器。或者使用 datepicker 的 autoclose 属性。$('#from').datepicker( { autoclose: true, startDate: today.getDate.toString() } ); $('#to').datepicker( { autoclose: true, startDate: today.getDate.toString() });

form 和 #to 是 ID。

于 2013-05-03T13:00:31.513 回答
1

I ran into the exact same issue. I solved it by doing the following:

var pickers = $(".datepicker")
    .datepicker({
        format: "mm/dd/yy",
        autoclose: true
    })
    .on("show", function(e){
        pickers.not(e.currentTarget).datepicker("hide");
    });
于 2013-05-09T00:01:12.113 回答