다음 코드가 있습니다. 사용자가로드 된 기본 옵션 만 사용하여 드롭 다운을 클릭하면 드롭 다운을로드하는 데 사용됩니다.이 드롭 다운이 상당히 크기 때문에 IE가 ' 그 정도는 좋아. 여기에 코드입니다 :IE 6 Javascript 대체 드롭 다운 문제 선택
function populateDropDown(id, code) {
var currentSelect = document.getElementById(id);
<%--Don't enable the dropdown if it has more than one entry already - assume this to be populated.--%>
if(currentSelect.length == 1) {
currentSelect.remove(0);
var selectedIndex = 0;
for(var index = 0; index < codes.length; index++) {
var newOption = document.createElement('option');
newOption.value = codes[index];
newOption.text = values[index];
try {
currentSelect.add(newOption, null); // standards compliant
}
catch(ex)
{
currentSelect.add(newOption); // IE only
}
if(codes[index] == code) {
selectedIndex = index;
}
}
currentSelect.selectedIndex = selectedIndex;
}
}
이 코드는, 오페라 9.x의에서 IE 7 일 -하지만하지 IE 6 (내가 좋아하는 오페라 잠자리 때문에 오페라에서 테스트 -하지만 정말에만 IE 7에서 작동해야하고 6).
IE 6에서는 코드가 드롭 다운을 채우지 만 선택된 값을 선택한 값이 아닌 드롭 다운 목록의 첫 번째 값으로 설정합니다. 선택한 값은 언급 된 다른 두 브라우저에서 적절한 값으로 설정됩니다.
나는 어떤 의미로든 자바 스크립트 전문가는 아니기 때문에 누군가가 IE 6이이 작업을 수행하는 이유와이를 해결하는 방법을 알고 있다면 그 점을 이해할 수 있습니다. 주석에는 JSP 주석이 있습니다. 자바 스크립트가 브라우저에 전송되기 전에 주석이 제거됩니다 (잘못된 주석이 아닙니다).
코드는 어디서 오는가? (코드 [인덱스] == 코드)? –
죄송합니다, Russ 님, 서명을 추가하는 것을 잊었습니다. 서명은 functionName (id, code)입니다. 이 코드는 JSP EL 함수를 통해 초기에 선택된 값에서옵니다 (따라서이 검사는 이미 채워진 드롭 다운을 채우지 않는 이유입니다 - 드롭 다운에 두 개 이상의 옵션이 없으면 걱정할 큰 * 문제가 있습니다) !) – MetroidFan2002
서명을 추가하기 위해 편집 됨. – MetroidFan2002