2013-02-04 2 views
1

페이지가 표시되는 동안 동적 콘텐츠를 여러 번로드하는 PHP 생성 페이지에서 선택 목록이 있습니다. 각 옵션 행은 링크 역할을해야합니다. 따라서 선택 요소의 '클릭'처리기를 필터로 연결하여 옵션 요소를 선택합니다.jquery 동적 콘텐츠가 작동하지 않는 함수가 ie9입니다.

$(document).ready(function() { 
... 
$("#suggestions").on('click', 'option', selectItem); 
}); 

// receiving the list of options 
function receiveList(data) { 
    $('#suggestions').html(data); 
    $('#suggestions').css('display', 'inline'); 
} 

// The click handler for the options 
function selectItem(e) { 
    var txt = this.value; 
    alert('Selected ' + txt); 
    window.open(txt); // or window.location.href = txt; 
} 

:

<option value="NextPage.php?id=1">Doe, John</option> 

첨부 된 자바 스크립트는 다음과 같다 : 다음과 같이 그 후

<select name="suggestions" id="suggestions" size="3">'; 
</select>'; 

내가 몇 가지 옵션을 채우이 시작하려면 내가 사용 html로입니다 이 자바 스크립트는 Firefox와 Opera에서 완벽하게 작동합니다. IE9에서 셀렉터에서 한 라인을 클릭하면 선택한 라인이 파란색으로 바뀌지 만 아무런 조치도 취해지지 않고 경고 팝업도 나타나지 않습니다. 즉, selectItem이 실행되지 않습니다.

나는 JQuery와-1.8.2.min.js를 사용하고, 페이지의 첫 번째 줄은! "의 DOCTYPE html로"

어떤 제안을하는 방법이 문제를 회피하는 것입니다?

+0

클릭 이벤트를위한'

답변

1

option에 이 아닌 selectchange 이벤트를 사용해야합니다. 이 시도 :

$("#suggestions").on('change', selectItem); 
+0

많은 감사의 변화 이벤트를 사용하여, IE에서 발생하지만 잘못된 방법으로 일을 변경하지 않습니다 어느 쪽도 없습니다 파이어 폭스도 IE는이 변종과 함께 작동합니다. 죄송합니다 ... –

+0

또한 변경 이벤트를 옵션에 적용하여 선택하려고했습니다. 후자는 여전히 Firefox에서는 작동하지만 IE에서는 작동하지 않습니다. 전자는 브라우저 둘 다 작동하지 않습니다. 죄송합니다 ... –

+0

아하! 이제 좀 더 많은 효과를 볼 수 있습니다 : 분명히 change 이벤트가 작동하지만 선택기에서 첫 번째 줄만 선택하면됩니다! 그러나 필자가 필사적으로 그것을 선택하기를 원한다면 어떻게 될까? 사용자가 선택하도록하기 전에 선택된 값을 0 또는 -1로 설정할 수 있습니까? –

관련 문제