2011-12-28 3 views
0

HTML 드롭 다운 값의 select 이벤트에서 URL에 쿼리 문자열로 추가되는 특정 값과 해당 값으로 연결되도록 트리거하고 싶습니다. 어떻게 자바 스크립트 또는 jquery에서 그것을 달성하기 위해? 다이어를 선택하면 URL에 선택된 문자열을 쿼리 문자열로 전달

<select id="hospitalDropDown"> 
      <option>All Hospitals</option> 
      <option>Dyer</option> 
     <option>Carmel</option> 
     <option>Indianapolis</option> 
     <option>Beech Grove</option> 
</select> 

그래서, 결과는 누군가가 도와 드릴까요 http://mysite.com/events.aspx?hosp=Dyer

로 이동하고해야 하는가? JQuery와

$('#hospitalDropDown').on('change', function(e){ 
    document.location.href = "http://blah" + $(this).val(); 
}); 

편집에

답변

2

가 : 당신이 jQuery를 최신 버전을 사용하는 경우

+0

감사합니다, 그것은 완벽했다! –

+0

고마워, 너는 약간의 upvote를 신경 쓰지 않고 여기서 약간의 보수를 얻으 려한다 :-) – gotofritz

+0

매우 유용하다! 오래된 대답, 어쨌든 나를 위해 대신 .bind – Alex

1

"에"더 현대에 "바인딩"을 변경, 당신은 on() function를 사용하여 이벤트 핸들러를 첨부 할 수 있습니다 .

$('#hospitalDropDown').on('change', function() { 
    window.location.assign('http://mysite.com/events.aspx?hosp=' + $(this).val()); 
}); 

작업에서이 문제를 확인하려면 : http://jsfiddle.net/73PEg/

+1

가치 업데이트에 대한 감사 호기심에서, 단지 $ ('# hospitalDropDown')을 사용하는 것의 이점은 무엇입니까? change()? – gotofritz

+0

때문에 작동 지적 – ryanulit

+0

.bind ('change')의 바로 가기 인 .change()는 현재로드 된 DOM 요소에만 붙습니다. ".on() 메서드는 jQuery 객체의 현재 선택된 요소 집합에 이벤트 처리기를 연결합니다 .jQuery 1.7에서 .on() 메서드는 이벤트 처리기를 연결하는 데 필요한 모든 기능을 제공합니다. 이전 jQuery 이벤트 메소드의 경우 .bind(), .delegate() 및 .live()를 참조하십시오. " – nachito