1

사용자가 값을 변경하면 드롭 다운에 지정된 값이 표시되므로 경고 메시지가 표시됩니다. 확인을 클릭하면 드롭 다운의 텍스트가 변경됩니다. 취소를 클릭하면 선택한 옵션이 원래 선택으로 되돌아갑니다. 이 기능은 Firefox에서 완벽하게 작동하지만 사용자가 Chrome 및 IE에서 취소를 선택하면 값은 유지되지만 드롭 다운 텍스트는 제거됩니다. 사용자가 확인을 클릭하면 모든 브라우저에서도 작동합니다. IE와 Chrome이 브라우저마다 작동하도록 아래 표시된 행과 관련이 있어야합니다. JavaScript로 SELECT 옵션 채우기가 Chrome에서 실패하고 IE 11이 Firefox에서 작동합니다.

선택 태그에 onChange="typeChange(this)" 호출

자바 스크립트 함수 (I 프로토 타입 라이브러리를 사용하고 있습니다) : 당신은 대신 selectedIndex의 설정해야

function typeChange(element) { 

    var oldValue = element.defaultValue; 
    var newValue = element.value; 
    var oldDisplayValue=jQuery('select[name="type"] option').map(function() { 
       if (jQuery(this).attr('defaultSelected')==true) 
         return this }).get(0).text; 
    var newDisplayValue = element.options[element.selectedIndex].text 

     if (window.confirm('Are you sure?)) { 
     element.defaultValue = newValue; 
     element.options[element.selectedIndex].text = newDisplayValue; 
     } else { 
     element.value = element.defaultValue; 
     ***element.options[element.selectedIndex].text = oldDisplayValue;*** 
     } 
} 

답변

0

를,이 달성의 더 신뢰할 수있는 방법입니다. 당신은 당신이 찾고있는 하나의 인덱스를 찾을 수있는 항목을 반복 할 필요가,이 게시물은 당신을 도울 것입니다 : 그 방법을 생각

JavaScript - How to set selectedIndex of select element using display text?

+0

. 그러나 그렇게하면 모든 브라우저에서 공백으로 선택됩니다. 즉, Firefox 용으로 나왔습니다. – BrianZ

+0

아니요, selectedIndex _and_ text를 설정하십시오 –

+0

흠, 다시 한번 알려 드리겠습니다. .text를 제거하려고 시도했지만 아직 아무것도 나오지 않습니다. 안정적으로, selectedIndex 만 설정하면 크로스 브라우저에서 작동한다는 것을 의미합니까? 원래 파이어 폭스가 적어도 파이어 폭스에서 작동하는 유일한 방법이지만, 이것이 픽스라고 말하면, 나는 그 링크를 더 파헤쳐 야 할 것이다. – BrianZ

관련 문제