2011-08-04 2 views
1

다음과 같은 코드가 있습니다 :FilteringSelect dojo 위젯의 onchange 이벤트의 기본 동작을 덮어 쓰는 방법?

dijit.byId('patient').onchange(function(event){ 
     var term=dijit.byId('patient').get('value');                
     patientList.url = ".calendar/search-patient?term="+term; 
     patientList.close();         
}) 

FilteringSelect dojo 위젯의 "onchange"이벤트의 기본 동작을 덮어 쓰려고합니다. 문제는 " 지연된이 이미 해결되었습니다."라는 오류가 발생합니다.

"onchange"이벤트의 기본 동작을 어떻게 덮어 쓸 수 있습니까? 고맙습니다

+0

,하지만 추가하려고'false를 반환;'뿐만 아니라. –

+0

나는 그것을 역시 시도했다. 같은 오류. 그 요소에 대해 "onchange"이벤트가 발생하면 오류가 발생하여 preventDefault() 지점에 도달하지 않는다고 생각합니다. – sica07

+0

'alert ('debug');를 추가하면 전혀 보이지 않습니까? –

답변

2

함수는 dijit 객체를 반환하며, 함수로 매개 변수를 취하는 onchange 멤버 함수를 가지고 있다고 생각하지 않습니다.

이 대신 일을보십시오 :이 프레임 워크에 익숙하지

dojo.connect(dijit.byId("patient"), "onChange", function(value) 
{ 
    patientList.url = ".calendar/search-patient?term=" + value; 
    patientList.close(); 
}); 
+0

감사합니다. 이 방법은 오류가 발생하지 않지만 모든 응답을 얻지 못하기 때문에 요소의 이벤트 (또는 이벤트를 덮어 쓰지 않습니다)를 듣지 않는다고 생각합니다 (경고하지만 아무 것도 시도하지 않았습니다.). – sica07

+0

@ sica07 이상 하네. 'onchange' (잘못된 대문자)가 아닌'onChange'를 사용하고 있습니까? 여기에 바이올린이 있습니다. http://jsfiddle.net/D7Xym/ – Frode

+0

onchange가 문제였습니다. 바보 야. 이제 작동합니다! 고마워요! – sica07

관련 문제