2012-10-05 2 views
1

내가 프로토 타입 아약스를 사용하여 다중 선택 상자를 업데이트하고 Internet Explorer에서 선택한 첫 번째 옵션이 있습니다 아약스 전화. 유일한 문제는 최상위 옵션이 IE에서 자동으로 선택된다는 것입니다. Autopopulating 다중 선택 상자는

내가 수동으로 바로 Ajax.Updater() 기능 후와 onSuccess: {} 절 내부

document.getElementById(selectbox).options[0].selected = false; 

를 넣어 선택을 취소하려고했지만 여기에서 유일한 방법은 지연을 설정하는 것이었다 있도록 체크 박스가 업데이트되기 전에이 초기화되었다 그러나 이것을 할 또 다른 방법이 있는지 궁금합니다.

은 또한 그런 다음 문제가 해결되지 않는 모든 옵션에 속성 selected="false"를 추가 마지막 옵션이를 automaticly 선택되고 :(

+0

당신이'document.getElementById를 ('선택 박스') 값을 = NULL을 시도해 봤어 선택 상자에 선택된 인덱스를 설정 해제 시도하십시오.'? – rgthree

+0

@rgthree가 작동하지 않습니다 – user197483

+0

'selectedIndex'를 -1로 설정하면 – Victor

답변

0

가 빈 값 (또는 프로그램이 "아닌 값으로 이해 뭔가가있는 첫 번째 필드 추가 . "예상 도메인)과를 선택하는 HTML 선택 필드 오른쪽 (필드의 모든 시간을 선택한다)

편집는 W3C 사양은 상태가 :

17.6.1 사전 선택한 옵션 0 개 이상의 선택 사항이 사용자에게 미리 선택 될 수 있습니다. 사용자 에이전트는 을 다음과 같이 미리 선택해야합니다.

선택한 속성 세트가있는 OPTION 요소가 없으면 사용자 에이전트 초기 선택 옵션 동작이 정의되지 않습니다. 참고. 기존의 구현이이 케이스를 다르게 처리하기 때문에 현재의 사양은 RFC 1866 ([RFC1866] 섹션 8.1.3)과 다릅니다 ( ). SELECTED 속성이 집단. 사용자 에이전트의 동작이 다르므로 저자는 각 메뉴 에 미리 기본 설정된 OPTION이 포함되어 있는지 확인해야합니다.

하나의 OPTION 요소에 선택된 특성 집합이있는 경우 이 미리 선택되어 있어야합니다.
SELECT 요소에 다중 특성 집합 이 있고 둘 이상의 OPTION 요소에 선택한 특성 집합이있는 경우에는 을 모두 미리 선택해야합니다. 하나 이상의 OPTION 요소에 선택된 특성 집합이 있고 SELECT 요소에 여러 특성 집합이없는 경우 오류로 간주됩니다. 사용자 에이전트는이 오류를 처리하는 방법에 따라 을 변경할 수 있지만 두 개 이상을 선택해서는 안됩니다.

따라서 각 브라우저는 기본적으로 다른 브라우저를 선택할 수 있으므로 응용 프로그램에서 동작을 제어해야합니다. 그러나 결국에는 그들 중 하나가 선택 될 것입니다. 대개 속성이 정의되어 있으면 아무 것도 선택하지 않고 specs는 아무것도 표시하지 않으므로 빈 옵션도 제대로 작동 할 수 있습니다.

+0

이 잘 작동합니다. multiselect 상자 안에 아무 옵션도 선택하지 않아도됩니다 – user197483

+0

도움을 주셔서 감사합니다. – user197483

+0

행운을 빕니다. 추신 몇 가지 시도해 보았습니다. IE8에서는 다중 선택에서 옵션을 선택하지 않습니다. 어떤 브라우저를 사용하고 있습니까? – Alfabravo

1

$(selectbox).selectedIndex = -1;

+0

http://jsfiddle.net/3NvGb/ – Victor