Study/JavaScript
[IE] Internet Explorer에서 value=""일 경우 value="1"로 변경되는 경우 해결방법
momong'-'
2020. 12. 29. 11:05
IE 11에서 value가 없을 경우 자동으로 1부터 시작된다.
또는 01, 02 같은 문자는 숫자로 변경되어 1, 2로 되어 작동한다.
<li value="">전체</li>
<li value="1">A</li>
<li value="2">B</li>
<li value="3">C</li>
<li value="4">D</li>
<!-- IE 적용 -->
<li value="1">전체</li>
<li value="1">A</li>
<li value="2">B</li>
<li value="3">C</li>
<li value="4">D</li>
<li value="01">A</li>
<li value="02">B</li>
<li value="03">C</li>
<li value="04">D</li>
<!-- IE 적용 -->
<li value="1">A</li>
<li value="2">B</li>
<li value="3">C</li>
<li value="4">D</li>
해결방법 - 1
이럴경우 해결하기 위해서는 커스텀 테이터 속성를 사용한다.
<li data-value="">전체</li>
<li data-value="1">A</li>
<li data-value="2">B</li>
<li data-value="3">C</li>
<li data-value="4">D</li>
<input id="selected_list" type="hidden">
<li data-value="01">A</li>
<li data-value="02">B</li>
<li data-value="03">C</li>
<li data-value="04">D</li>
<input id="selected_list" type="hidden">
value값 가져오기
// javaScript
document.getElementById('selected_list').getAttribute('data-value');
//jQuery
//data('dataName'): 해당 커스텀데이터속성의 값을 반환(dataName은 속성 'data-'를 제외한 이름)
$('#selected_list').data('value');
// attr('attrName'): 해당 속성 값 반환
$('#selected_list').attr('data-value');
해결방법 - 2
공백으로 하고 싶을 경우 해결방법은 하나 더 있다
"" 대신 " "를 사용하는 것이다.
<li data-value=" ">전체</li>
<li data-value="1">A</li>
<li data-value="2">B</li>
<li data-value="3">C</li>
<li data-value="4">D</li>
<input id="selected_list" type="hidden">
그리고 결과를 보낼때는 trim으로 감싸서 보낸다.
도움이 되셨다면 아래 ♡ 눌러주세요 (로그인 필요 없습니당)