2016-11-02 7 views
0

私のフォームには、仕事に関連する2つの日付フィールド、:start_date:end_dateがあります。月と年があります。date_select:チェックボックスで値を上書きする方法は?

LinkedInの場合と同様に、現在の仕事では、終了年は関連しないことがあります。

したがって、:end_date"present"に置き換える方法を探しています。これは、ユーザーが「現在の位置」にチェックを入れたときです。

これは正しい方法はありますか?

更新

現時点では私のコード: <%= f.date_select :end_date, { discard_day: true } %>

+0

@Udaykumardasはそのちょうど良いため現在の日付を設定しませんか?仕事が終了していないので、その場合、終了日はありません。かなり基本的なコードで更新しました。 – DoeJ

答えて

0

私はの終了日を破棄値を設定しないと、私は、この属性を追加します(チェックボックスからtrueにpresent_jobを設定したいですテーブルjobs)。これにより、終了日を無視またはクリアします。

before_validation :clear_end_date, :if => :present_job 

validate :end_date, :presence => true, :unless => present_job 

def clear_end_date 
    self.end_date = nil 
end 

また、フォーム内のend_dateを視覚的に無効にしてクリアするには、このチェックボックスを使用します。状態を変更して終了日のフィールドを更新するかどうかを確認するイベントを追加するだけです。

$(".checkbox").change(function() { 
    if(this.checked) { 
     // Disable end_date select box and make other visual changes 
    } 
}); 

jQuery checkbox checked state changed event

+0

それは動作します、私はそれの論理を手伝ってくれてありがとう。 – DoeJ

関連する問題