2011-12-15 4 views
3

jQuery Mobile은 메뉴가 오버레이로 제공되는 멋진 사용자 정의 선택 메뉴를 제공합니다. 이러한 옵션에 onclick 함수를 연결하려고하지만 jQuery 모바일이 옵션 태그를 자체 생성 태그로 바꿉니다. 나는 "옵션"(실제로는 스타일이 지정된 링크로 생성 됨)에 연결하는 기능을 얻지 못하는 것 같습니다.jQuery Mobile 선택 메뉴

답변

5

오히려 어떻게 <select> 요소에 대한 change 이벤트에 바인딩에 대해는 "가짜"옵션 요소의 click 이벤트에 바인딩보다 : http://jsfiddle.net/PQ39n/

참고 : 데모입니다 여기에

$('#the-select').on('change', function() { 
    var $this = $(this), 
     val = $this.val(); 
}); 

.on()은 jQuery 1.7에서 새로 추가되었으며이 경우 .bind()과 동일합니다.

편집

당신이 "가짜"옵션 요소의 click 이벤트에 바인딩 할 경우 : http://jsfiddle.net/PQ39n/ (위와 같은 데모)

: 여기

$('#the-page').on('click', '.ui-selectmenu-list > li', function() { 
    alert('onClick = ' + $('#the-select').children().eq($(this).attr('data-option-index')).val()); 
}); 

는 데모입니다

이 예에서 .on().delegate()과 동일합니다.

+0

select에서 'change'이벤트에 바인딩하는 것은 멋진 대체 기능이지만 응답이 매우 느리기 때문에 항상 유용하지는 않습니다. 햅틱 피드백 (옵션 선택시 잡음)을주고 싶다면 선택 메뉴가 값이 변경 될 때까지 피드백을 기다리는 것이 유용하지 않습니다. – Wytze

관련 문제