2014-12-23 1 views
0

나는 모든 열에서 내가 선택한 후에 같은 날짜에 60 일을 더한 다른 날짜를 인쇄해야하는 datepicker를 보여주는 테이블을 가지고있다. 양식을로드 할 때이 구현 된 있지만 datepickers 필드를 편집 할 때 작동하지 및 새 60 일 더한 새 날짜 필드를 보여야합니다. 여기 jQuery 동적 Datepicker입니다. 나는 날짜 값을 보여줄 수 없다.

내가 무엇을 가지고 :

collectionHolder.find('tr').each(function() { 
    $(this).find('input[id$=_fechaQuedan]').datepicker({ 
        dateFormat: "dd-mm-yy", 
        onSelect: function(date){ 
         // alert('hola'+ this.datepicker('getDate')); 
         alert('ID'+$(this).attr('id')); 
         alert($(this).datepicker('getDate')); 

        } 
    }); 
}); 

여기 일이 PLUNKER에 노력하고 있음을

alert($(this).datepicker('getDate'));

모든 dinamic 분야 임과 매력을 좋아하지만 내 코드에서이 선 작업 내 NULL 값을 보여주는 날짜를 가져올 수 없습니다.

이제 [개체 개체] 점점

alert($(this).val($(this).datepicker('getDate'))); 

추가 편집 된 후

자 필드가 선택된 날짜를 유지하지 않고 일/월/년 설정되어 선택한 후.

+0

문서를 읽으십시오. 'onSelectType : Function (String dateText, Object inst)'* datepicker가 선택되었을 때 호출됩니다. 이 함수는 선택한 날짜를 텍스트로, datepicker 인스턴스를 매개 변수로받습니다. 관련 입력 필드를 참조합니다. * –

답변

1

교체하려고 :

alert($(this).datepicker('getDate')); 

로 : 그것은

$(this).val($(this).datepicker('getDate')); 

작동합니다!

+0

이제 "[object Object]"를 제공하고 필드를 선택한 후 선택한 날짜를 유지하지 않고 dd/mm/yy를 설정합니다. 이유를 모르겠다. –

0

내 문제를 해결하는 방법입니다. 모든 경우를 해결하는 데는 시간이 걸렸습니다. 이 코드 부분은 문서 준비가 완료되면 해결됩니다.

이 코드는 문서 준비 함수 밖에 있습니다. 이것은 날짜에 30 일 이상을 추가하는 마법입니다.

Date.prototype.addDays = function(days) { 
    this.setDate(this.getDate() + days); 
    return this; 
}; 

때 document.ready()이 코드는 ID가 _fechaQuedan로 끝나고하기 위해 테이블 ​​

$(this).find('input[id$=_fechaQuedan]').datepicker({ 
       dateFormat: 'yy-mm-dd', 
       onSelect: function(date){ 

        var fechQueVenAux = $(this).datepicker('getDate'); 
        var d = new Date(); 

        d.setDate(fechQueVenAux.getDate()); 
        d.setMonth(fechQueVenAux.getMonth()); 
        d.setFullYear(fechQueVenAux.getFullYear()); 
        d.addDays(60); 
        var curr_date = d.getDate(); 
        var curr_month = d.getMonth() + 1; 
        var curr_year = d.getFullYear(); 

        var divFechaVencimiento = curr_date + "/" + curr_month + "/" + curr_year; 
                     $(this).closest('td').next('td').find('div#fechaVencimiento').html(divFechaVencimiento); 

        $(this).datepicker('setDate', $(this).datepicker('getDate')); 
       } 
     }); 

를 내부 행에있는 모든 필드에 onSelect를 이벤트를 추가 내 코드의 모든 날짜를 찾습니다 경고에 선택한 날짜를 표시하는 것은 내가

을 사용했다 날짜를 선택한 후 날짜 선택기로 선택한 필드를 표시하려면

alert(divFechaVencimiento); 

를 사용했다

$(this).datepicker('setDate', $(this).datepicker('getDate')); 

이 코드는 많은 행이있는 테이블에서 JQuery와 UI를 날짜 선택기와 선택한 날짜 60 일 추가 동적

감사를 추가했다.

관련 문제