2012-02-17 2 views
0

에 (... 기능, '클릭') :문제 나는 다음과 같은 코드에 문제가 있어요 IE6-8

$('#datepicker').datepicker({ 
    inline: true, 
    dateFormat: 'dd. MM yy', 
    firstDay: 1, 
    altField: "#date" 
}).bind('click', function() { 
    var userDate = $('#date').val(); 
    $('.date2').html(userDate); 
});​ 

.bind 그냥 IE6-8에서 작동하지 않습니다 , 다른 브라우저는 정상적으로 작동합니다.

내가하는 일 : #datepicker 내의 요소를 클릭하면 선택한 날짜가 '날짜'ID 필드로 푸시됩니다. 그런 다음이 필드의 값을 확인하고 date2 클래스를 사용하여 날짜를 범위로 푸시합니다.

내가 뭘 잘못하고 있는지에 대한 제안이 있으십니까?

업데이트 : 좋아요, 그래서 고칠 수있었습니다. 올바른 코드는 모든 브라우저에서 올바르게 작동합니다.

$('#datepicker').datepicker({ 
    inline: true, 
    dateFormat: 'dd. MM yy', 
    firstDay: 1, 
    altField: "#date", 
    onSelect: function(dateText, inst) { 
    $('.dateOutput').fadeIn(250); 
    $('.date2').html(dateText) 
    } 
}); 

도움을 주셔서 감사합니다.

+0

datepicker 부분이 작동하고 있습니까? 그 값을 다른 필드에 넣는 것을 포함합니까? 어떻게하면 'bind'가 작동하지 않고, span에서 결과를 보지 못하거나, [디버거] (http://blog.niftysnippets.org/2011/03/no- excuse.html) 또는 console.log (dev8 도구를 열어 IE8) 또는 (떨림)'alert'을 수행 했습니까? –

+0

날짜 표시기가 작동 중입니다. 값을 필드로 밀어 넣습니다. IE9에서 잘 작동합니다. 바인드 기능 내에서 경고를 추가 할 때 트리거되지 않습니다. – Andreas

+0

'@ Andreas' : 유용한 정보 (나는 그것을 질문으로 편집합니다). 그리고 매우, 매우 이상합니다. http://jsbin.com 또는 http://jsfiddle.net에서 문제를 재현 할 수 있습니까? –

답변

0

나는 그것이 DOM is not ready for JavaScript processing 문제라는 것이 확실합니다.

$(document).ready(function() { 
    $('#datepicker').datepicker({ 
     inline: true, 
     dateFormat: 'dd. MM yy', 
     firstDay: 1, 
     altField: "#date" 
    }).bind('click', function() { 
     var userDate = $('#date').val(); 
     $('.date2').html(userDate); 
    }); 
});​ 
+0

함수 내에 있습니다 (함수 enableDatepicker() {...}). 미안해, 그 말은하지 않았다. – Andreas

+0

그리고이 경우 다른 브라우저에도 영향을 미칩니다. @ Andreas : DOM이 준비되기 전에 다른 함수가 호출되는 경우 다른 함수 내에있는 것이 반드시 DOM 준비가되어 있지 않다는 것을 의미하지는 않습니다. :-)하지만 스크립트가 페이지 끝 부분에 있거나 이미 이벤트 ('ready','load', 뭐든간에)를 기다리고 있다면 이것은 그렇지 않습니다 (다른 브라우저에도 영향을 미칩니다) . –

관련 문제