반응형
♨ 크롬에서는 되는데 익스플로러에서는 안될 때 ♨ |
<li> 태그를 이용하여 목록을 생성하기 위해
js 파일의 ajax 에서 DB 값을 뷰에 append 시킨다.
$("#"+select_object_id).append("<li value='"+code_value+"'>"+code_name+"</li>");
이 부분에서 append가 수행된다.
Chrome 에서는 <li> 의 value 값이 위 처럼 정상적으로 들어간것을 볼수있다.
(이 리스트는 code_value와 code_name이 같음)
하지만 익스플로러에서는 code_value 가 text 임에도 불구하고 맨앞의 0 이 없어져,
DB 조회시 값이 나오지 않는다.
특정 데이터는 아래처럼 아예 변질되는 경우도 있다.
append 부분에서 디버그를 해보아도 분명 제대로 나오지만
어디서 변질되는지 모르게 실행 후엔 아래처럼 바뀌어있다.
인터넷 브라우저 간의 스크립트 지원 문제가 있다고 익히 들었지만,
데이터가 변질되는 경우는 처음이다.
방법을 찾던 중 <li> 태그의 value에 값을 주지 않고 다른 속성을 이용해 보기로 하였다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | $.ajax({ type: "get", dataType: "xml", data: data, url: "/common/" + function_id, success: function(xml) { if($(xml).find("code").find("item").length > 0) { $(xml).find("code").find("item").each(function() { var code_value = $(this).find("code_value").text(); var code_name = $(this).find("code_name").text(); if(content_id == 'att' && code_value != 'null'){ if(selected_value == ''){ var code_id = $(this).find("code_id").text(); $("#"+select_object_id).append("<li id='"+code_id +"' value='"+code_value+"'>"+code_name+"</li>"); } else{ $("#"+select_object_id).append("<li alt='"+code_value+"'>" +code_name+"</li>"); } } }); } }, error: function(xhr, status, error) { alert(status); } }); | cs |
시험삼아 alt 에 값을 넣어보았다.
그 결과,
<li value=""> 에 넣을때는 왜 변질되는지 모르겠지만...
<li alt=""> 에 넣으니 익스플로러는 물론 크롬에서도 잘 잡힌다!
728x90
반응형
'JavaScript, jQuery, Java' 카테고리의 다른 글
숫자 세자리마다 콤마(,)찍기 (2) | 2017.12.20 |
---|---|
엘리먼트 append 순서 지정 / 요소 추가 순서 지정 (0) | 2017.12.20 |
JavaScript(ajax) 에서 java 로 변수 보낼때 한글 깨짐 (0) | 2017.12.20 |
Trigger - 함수/이벤트 강제 호출 (0) | 2017.12.20 |
문자열 찾기/검색 - indexOf(), lastIndexOf() (0) | 2017.12.20 |
댓글