0

次のように、ページにドロップダウンボックスがあります。

<select id="event_name" style="width:248px;" onchange="updatecollectbasic()" onblur="changecolor()" name="event_name" class="styled">
     <option <? if( $event_name == "") echo 'selected';?> value="">Select</option>
         <option <? if( $event_name == "Birthday") echo 'selected';?> value="Birthday">Birthday</option>
         <option <? if( $event_name == "Christmas") echo 'selected';?> value="Christmas">Christmas</option>
         <option <? if( $event_name == "Hanukah") echo 'selected';?> value="Hanukah">Hanukah</option>
         <option <? if( $event_name == "Graduation") echo 'selected';?> value="Graduation">Graduation</option>
         <option <? if( $event_name == "Confirmation") echo 'selected';?> value="Confirmation">Confirmation</option>
         <option <? if( $event_name == "Barmitzvah") echo 'selected';?> value="Barmitzvah">Barmitzvah</option>
         <option <? if( $event_name == "Batmiztvah") echo 'selected';?> value="Batmiztvah">Batmiztvah</option>
         <option <? if( $event_name == "Wedding") echo 'selected';?> value="Wedding">Wedding</option>
         <option <? if( $event_name == "Shower") echo 'selected';?> value="Shower">Shower</option>
         <option <? if( $event_name == "Other") echo 'selected';?> value="Other">Other</option>
    </select>

jQuery日付ピッカーも接続されている「日付」を取得するための別の入力ボックス:

<input id="event_date" type="text" onchange="updatecollectbasic()" name="event_date" value="<?=$event_date?>" class="inputtext2 table_ip" style="width : 90px;"/>

選択に基づいて、日付を選択する必要がありますが、選択したオプションが「クリスマス」の場合、入力フィールドにクリスマスの日付を入力する必要があります。

今のところ、スクリプトを次のように使用してそれを埋めました:

if  ($('#event_name').val() == "Christmas") {
                    $('#event_date').val("12/25/2012");
                } else {
                    $('#event_date').val("");
                }

しかし、ここで必要なのは、クリスマスの日付を「2013 年 12 月 25 日」が過ぎた日付として取得することです。同様に、「2013 年 12 月 25 日」が過ぎた後、この選択が行われた場合、来年のクリスマスの日付を表示する必要があります。 . JavaScript を使用してそれを行う方法。前もって感謝します。

4

3 に答える 3

0

Date() またはサーバー側コードを使用して、現在の月、日、および年を取得します。

月が 12 で、日が 26 日以上の場合は、'12/25/現在の年 + 1' を返します。それ以外の場合は、'12/25/現在の年' を返します。

于 2013-01-05T06:02:20.257 に答える
0

それ以外の :

$('#event_date').val("12/25/2012");

これを使って :

$('#event_date').val("12/25/" + (new Date()).getFullYear());

:

これは、26 日から 31 日まで不正確になります。それを避けるには、 N Rohler の回答を参照してください。

于 2013-01-05T06:02:29.507 に答える
0

現在の年の位置を確認するには、いくつかのロジックを含める必要があります。

var d = new Date();
var y = d.getFullYear();
if (d.getMonth() == 11 && d.getDate() > 25)
   y += 1;
$('#event_date').val("12/25/" + y);
于 2013-01-05T06:05:54.433 に答える