1

Rails アプリで jQuery を使用して、ヘルパーからの開始時刻と終了時刻を表示しています (私は Datepicker を使用していません)。

私のフォームでは:

 .field
     = f.label :start_time
     = f.select :start_time, options_for_select( [""] + start_time, "#{f.object.start_time.strip}")       
    .span#end_time
      .field
        = f.label :end_time
        = f.select :end_time, options_for_select( [""] + end_time, "#{f.object.end_time.strip}")

タイム リストはヘルパー (つまりstart_timeend_time) から取得されます。end_timeより大きいのみを選択できるように時間を検証するにはどうすればよいstart_timeですか?

4

1 に答える 1

1

オプションを無効にできますhttp://www.w3schools.com/tags/att_option_disabled.asp

JavaScript を使用して、「end_time」選択オプションの配列を実行し、「start_time」未満のものを無効にします。

このようなもの (ID などを変更する必要があります):

$("#start_time").change(function() {
    // Get start time
    var start_time = $("#start_time").find(":selected").text();

    // Iterate through end time options
    $("#end_time option").each(function() {
        var end_time = $(this).text();
        // Depending on how end_time and start_time are formatted you may need to do some conversion here
        if (start_time > end_time) {
            $(this).attr('disabled','disabled');
        }
    });
)};
于 2013-04-05T06:52:15.347 に答える