문제

사용자가 날짜를 클릭하면 자동으로 다음 MOM 또는 EOM으로 자동 선택하는 jQuery UI 캘린더를 구현해야합니다.

예를 들어 사용자가 4 월 9 일에 클릭하면 '4 월 15 일'으로 가야합니다. 또는 2 월 22 일 클릭하면 '2 월 28 일'또는 '29 월 29 일'에 가야합니다.

명확히하기 위해 : 엄마는 매월 1 년에서 15 일까지 "매번 15 일, 매번 15 일"입니다. EOM은 "월말, 그것은 월 31 일, 2 월 31 일, 5 월 31 일, 5 월 31 일, 5 월 31 일, 7 월 31 일, 7 월 31 일, 11 월 31 일, 11 월 31 일, 11 월 31 일, 11 월 31 일, 11 월 31 일, 11 월 31 일12 월 31 일 ...

감사합니다

도움이 되었습니까?

해결책 3

IE6 / IE7 / IE8 / IE9 및 FF, 크롬 등으로 작동하는 코드.

    <script type="text/javascript">
    $(function() {
        $("#payperiodcalendar input").datepicker({
            dateFormat: 'dd-M-yy',
            onSelect: function(dateText, inst) {
                var selectedDay = inst.currentDay,
                selectedMonth = inst.currentMonth,
                selectedYear = inst.currentYear;



                if (selectedDay <= 15) {
                    var now = new Date(selectedYear, selectedMonth, 15);
                } else {
                    var now = new Date(selectedYear, selectedMonth, LastDayOfMonth(selectedYear, selectedMonth));
                }
                $(this).attr("value", now.format("dd-MMM-yyyy"));

            }
        });
        function LastDayOfMonth(Year, Month) {
            Month++;
            return (new Date((new Date(Year, Month, 1)) - 1)).getDate();
        }
    });



</script>
.

다른 팁

텍스트 상자에 대한 표준 jQuery OnChange 핸들러 로이 작업을 수행합니다.그 이유는 사용자가 날짜 선택 도구를 무시할 수 있고 수동으로 날짜에 입력 할 수 있다는 것입니다.날짜가 선택되어 있거나 입력 된 경우에도 날짜가 자동으로 변경되거나 입력되거나 붙여 넣습니다.

datepicker에서 onselect 이벤트를 사용하십시오.MaxDate 옵션 세트와 EOM 또는 MOM 이전에 선택한 값이 MAXDATE가되면

업데이트 : 선택 후 닫습니다.대신 켜짐을 사용하십시오.

update2 : jsfiddle 최신 jQuery UI를 사용하여

  onClose: function(dateText, inst) {
    var day = inst.currentDay,
        month = inst.currentMonth,
        year = inst.currentYear;

    if (day <= 15) {
      day = 15;
    }
    else {
      day = 0;
      if (month>10){
        month = 0;
        year++;
      }
      else
        month++;
    }
    var d = new Date(year, month, day);
    $(this).datepicker("setDate", d);
  }
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top