2013-05-03 77 views
0

在rails 3.2.9中,我使用引导程序的日期选择器来显示日期。在一个单一的表格中,我需要显示2个字段的日期选择器。 如果我点击第一个字段,那么datepicker会弹出。之后,如果我点击“标签”按钮,那么它会通过附加到第一个日期选择器来弹出第二个字段的日期选择器。 我需要为特定字段的onclick一次显示一个日期选择器。如果我点击“选项卡”按钮,那么应该隐藏第一个字段的日期选择器,并弹出第二个字段的日期选择器。引导日期选择器一次追加2个字段

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> 

for more information I have added the image

上面我已经加入的图像以获取更多信息。请帮我解决这个问题。

+0

你可以在你调用currentDatePicker函数的地方发布一部分代码吗? – 2013-05-03 10:33:38

+0

我编辑了问题 – 2013-05-03 11:27:30

回答

1

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

form和#to都是id。

+0

我希望autoclose能够解决您的问题。 – 2013-05-03 13:03:34

1

我遇到了完全相同的问题。我通过执行以下操作解决了这个问题:

var pickers = $(".datepicker") 
    .datepicker({ 
     format: "mm/dd/yy", 
     autoclose: true 
    }) 
    .on("show", function(e){ 
     pickers.not(e.currentTarget).datepicker("hide"); 
    });