0

解決済み: http://jsfiddle.net/YV34P/5/

選択範囲を 5 日に制限するように日付ピッカーを設定しようとしています。

これは問題なく機能していますが、この日は日曜日と土曜日を含まない「営業日」でなければならないという問題があります。これは、5 月 18 日金曜日を選択すると、制限が 5 月 24 日木曜日になることを意味します。

何か案が?次のコードがあります。

$('.datepicker').datepicker({
            dayNames: ["Domingo", "Lunes", "Martes", "Miercoles", "Jueves", "Viernes", "Sábado"],
            dayNamesMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"],
            monthNames: ["Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre"],
            //dateFormat: "DD, dd MM yy",
            //altFormat: "DD, dd MM yy",
            dateFormat: "dd M yy",
            showAnim: "drop",
            beforeShow: LimitaRango,
            beforeShowDay: $.datepicker.noWeekends
    });

function LimitaRango(input){
    if (input.id == 'FechaHasta'){
        var minDate = new Date($('#FechaDesde').val());
        minDate.setDate(minDate.getDate() + 1);
        var maxDate = new Date($('#FechaDesde').val());
        maxDate.setDate(maxDate.getDate() + 5);
        return {
            minDate: minDate,
            maxDate: maxDate
            };
        }
}

そして、このHTML:

<tr>
      <td>Fecha Desde:</td>
      <td colspan="2"><input type="text" name="FechaDesde" size="40" class="datepicker" id="FechaDesde"></td>
</tr>    
<tr>
      <td>Fecha Hasta:</td>
      <td colspan="2"><input type="text" name="FechaHasta" size="40" class="datepicker" id="FechaHasta"></td>
    </tr>

PS: ご協力ありがとうございます。問題は週末の認識です。これで機能しましたが、ユーザーが「金曜日」を選択した場合、私の目的は選択を木曜日までに制限することですが、このコードでは、「5 日」のカウントに週末が含まれているため、「火曜日」に制限されています。 " 選択した開始日から。

4

3 に答える 3

2

必要なのは、今日から 6 日先までの任意の時間です。したがって、オプション maxDate を設定する必要があります。

var maxd = Date();
maxd.setTime( maxd.getTime() + (1000 * 3600 * 24 * 6) );
$('.datepicker').datepicker({
    ... // existing options
    maxDate: maxd,
});
于 2012-07-05T23:05:40.057 に答える
2

次のコードを使用して、週末を無効にすることができます。

$("#element").datepicker(
    {
        beforeShowDay: $.datepicker.noWeekends
    }
);

編集:指定された日を無効にするには、これをチェックしてください: Can the jQuery UI Datepicker to be made to disable Saturdays and Sundays (and holidays)?

于 2012-05-14T13:59:39.940 に答える
1

日付の選択を制限するには、 beforeShowDayイベントを使用します。この関数がfalseを返す場合、その日付はアクティブになりません

すなわち

beforeShowDay:
function(date) {
    var dayOfWeek = date.getUTCDay();
    if(dayOfWeek ==0 || dayOfWeek ==6) //0= Sunday 6= Saturday
    {
      return false;

    }
    else
    {
      return true;
    }
}

詳細については、 http: //jqueryui.com/demos/datepicker/#event-beforeShowDay およびjQuery ui datepickerを参照し、onSelectから曜日を取得してください

于 2012-05-14T14:04:28.987 に答える