2014-10-11 2 views
2

그래서 나는 select 요소와 드롭 다운으로 표시 국가의 목록을 가지고 작동하지 않는 선택 사용자가 실제로 선택하는 옵션으로 내 #selectedCountry의 값을 설정할 수 있어야합니다. 이는 MouseUp() 이벤트는 여기 <p></p> 내 HTML의,

나는이처럼 .mouseUp() JQuery와 이벤트를 설정하려고 :

$("#myList").mouseup(function() { 

    var val = $(this).val(); 
    $("#selectedCountry").text(val); 

}); 

어떤 이상한 것은이 코드는 .mousedown()/.click() 이벤트를 트리거 있다고하지만 난 그것을 할 의도가 무엇인가 ...

mouseup()을 사용하여 select 요소의 값을 가져 오는 방법에 대한 의견이 있으십니까?

추신 : 나는 focusout() 이벤트가 유사한 결과 (as explained here)를 생산하는 것 알고 있지만 나는 select 요소와 mouseup() 이벤트에 대한 구체적인 뭔가가 있다면 이해하고 싶었다.

감사

+2

왜 'onchange' 이벤트를 사용하지 않습니까? – dfsq

+0

내가 아는 한, 그것은 나를 위해 잘 작동하는 것 같습니다 : http://jsfiddle.net/hf64pbfw/ – Winestone

+0

@Winestone : 어쩌면 그것은 브라우저 관련이긴하지만 당신의 바이올린은 나를 위해 mousedown() 이벤트를 생성합니다 (최신 버전의 OsX 용 Chrome) – clecai

답변

2

개인적으로 나는 .change event

.mouseup() 이벤트가 크롬과 파이어 폭스와 약간 다른 동작을 가지고 사용할 수 있습니다. 또한 프로그래밍 방식으로 값을 변경하면 .mouseup() 이벤트는 값 변경을 인식하지 못하지만 .change() 이벤트는 변경됩니다.

$("#myList").change(function() { 

    var val = $(this).val(); 
    $("#selectedCountry").text(val); 

}); 

FIDDLE

+0

@ dfsq + robbmj : 멋지다! .change()는 실제로 올바른 이벤트이며 이전에는 사용하지 않았다고 생각합니다. 고마워요 – clecai

+0

@clecai, 아무튼. – robbmj

0

MouseUp 이벤트는 자바 스크립트 "와 mouseUp"이벤트를 처리합니다. 달성하려는 작업은 Change 이벤트로 수행해야합니다. 브라우저에서 드롭 다운 값을 변경하면 실제로 트리거됩니다.