[英]How could I set my datepicker to only show dates after a certain date
問題是我有兩個日期選擇器,一個用於leaves_start,另一個用於leave_end。 如果有人為將來的text_field選擇“是”,那么我希望日期選擇器僅顯示人員周年紀念日之后的日期。 我可能會遇到的一個問題是員工的周年紀念日將是他們被錄用的時間,所以我不確定如何僅使用周年紀念日的月份和日期來僅顯示其周年紀念日之后的這一年的日期。 。
例如,我叫喬·史密斯,我選擇將來的請求為“是”,我的周年紀念日為02/14/12。 我希望我的Leave_start Leave_end日期選擇器僅顯示今年2/14之后的日期。 這可能嗎? 任何幫助將不勝感激!!!!
基本上,我只是不希望人們選擇將來的請求並能夠選擇周年紀念日之前的幾天。
讓我知道是否有人需要更多信息,這是我到目前為止所擁有的。 任何幫助將不勝感激!!!!
這是我的entry.js.coffee中的日期選擇器
jQuery ->
$('#leave_start').datepicker({minDate: 0, beforeShowDay: $.datepicker.noWeekends });
$('#leave_end').datepicker({minDate: 0, beforeShowDay: $.datepicker.noWeekends });
這是我的看法
=simple_form_for @entry, :url => url_for(:controller => 'entry', :action
%td.lt= f.error :range_days, :class => 'er'
%table.table.table-bordered.table-striped{:style => 'table-layout:fixed; width:100% !important;'}
%th.lt Indirect Code:
%td.lt= f.input_field :indirect_id, :as => :select, :id => 'indirect_id', :label => false, :collection => ['PD', 'VAC', 'ABS'], :hint => "If you choose ABS(this is considered an unpaid absence)"
%td.lt= f.text_field :sick_day, :id => 'sick_day', :label => "This is for if you feel the need to comment on your unpaid request", :placeholder => 'Optional Comment', :input_html => {:value => ''}
%td.lt= f.error :indirect_id, :class => 'er'
%table.table.table-bordered.table-striped{:style => 'table-layout:fixed; width:100% !important;'}
%th.lt Will This Request be after your anniversary date?:
%td.lt= f.input_field :future, :as => :select, :id => 'future', :label => false, :collection => ["YES", "NO"]
%td.lt= f.error :future, :class => 'er'
%table.table.table-bordered.table-striped{:style => 'table-layout:fixed; width:100% !important;'}
%th.lt Leave Start:
%td.lt= f.text_field :leave_start, :label => false, :id => 'leave_start', :input_html => {:value => ''}
%td.lt= f.error :leave_start, :class => 'er'
%table.table.table-bordered.table-striped{:style => 'table-layout:fixed; width:100% !important;'}
%th.lt Leave End:
%td.lt= f.text_field :leave_end, :label => false, :id => 'leave_end', :input_html => {:value => ''}
%td.lt= f.error :leave_end, :class => 'er'
%td.lt= f.text_field :range_days, :label => false, :id => 'range_days', :input_html => {:value => ''}
%td.lt= f.text_field :full_range, :label => false, :id => 'gdates', :input_html => {:value => ''}
%table.table.table-bordered.table-striped{:style => 'table-layout:fixed; width:100% !important;'}
= f.button :submit, "Submit", :class => 'customSub'
這是我這個人的周年紀念日的模特
class Empcomp < ActiveRecord::Base
establish_connection :vdev
self.table_name = 'empcomp'
belongs_to :entry
end
這是我用於新建和創建的入口控制器
def new
@entry = Entry.new
@empaccrl = Empaccrl.where("person_id = ? and is_active = 'Y'", current_user.person_id)
@empcomp = Empcomp.where("person_id = ?", current_user.person_id)
respond_to do |format|
format.html# new.html.haml
format.xml { render :xml => @entry }
end
end
def create
params.permit!
@entry = Entry.new(params[:entry])
@entry.t_d
@entry.day_hours
@entry.current_user = current_user
@empaccrl = Empaccrl.where("person_id = ? and is_active = 'Y'", current_user.person_id)
@empcomp = Empcomp.where("person_id = ?", current_user.person_id)
# send my email
respond_to do |format|
if @entry.save
if current_user.email.nil?
format.html { redirect_to(entry_path( @entry ), :notice => 'Entry successfully created, but you will not recieve any notifications, because you email is blank!') }
format.xml { render :xml => @entry, :status => :created, :location => @entry }
else
EntryMailer.submit_for_approval(@entry).deliver
format.html { redirect_to(entry_path( @entry ), :notice => 'Entry successfully created.') }
format.xml { render :xml => @entry, :status => :created, :location => @entry }
end
else
format.html { render :action => "new" }
format.xml { render :xml => @entry.errors, :status => :unprocessable_entity }
end
end
end
這樣的事情是我希望它能起作用的方式,但是我無法從我的模型中獲得周年紀念日。 這個日期會有所不同,所以我無法將其設置為靜態日期
$(document).ready(function(){
$('#future').click(function() {
var selected = $(this).val();
if (selected == 'YES') {
$('#leave_start').datepicker({minDate: '#anviersary_date', beforeShowDay: $.datepicker.noWeekends });
} else {
$('#leave_start').datepicker({minDate: 0, beforeShowDay: $.datepicker.noWeekends });
}
});
});
這就是為什么要使用minDate和maxDate的原因 。
在初始化程序上:
$( ".selector" ).datepicker({
minDate: new Date(2007, 1 - 1, 1)
});
初始化后的設置:
$( ".selector" ).datepicker( "option", "minDate", new Date(2007, 1 - 1, 1) );
您無需在此處發布所有代碼。 請明確點。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.