반응형
iPad 에서 select 의 값, 또는 index 를 변경하기.
아래와 같은 select tag 가 있습니다.
<select id="colorList">
<option value=""></option>
<option value="red">RED</option>
<option value="blue">BLUE</option>
<option value="green">GREEN</option>
</select>
이 select box에서 색상을 선택하면
어딘가에 색상을 더하고
다시 select box에서 색상을 선택합니다.
웹에서는 잘 됨
이때 아래와 같이 change 이벤트를 사용하겠죠.
// select change
$('#colorList').change(function(e){
let selectedVal = $(this).val();
addColors(selectedVal);
$(this).val('');
});
change 이벤트에서
현재 값을 가져와서 -> 색상추가하는 작업을 하고 -> 현재 선택된 값을 초기화.
그래야 같은 색상을 두번 추가할 수 있겠죠.
문제
그런데 iPad 에서는 마지막에 $(this).val(''); 이게 제대로 동작하지 않습니다.
그래서 찾아보던 방식들이 아래 방식들인데, 잘 안됩니다.
-
$(this).selectedIndex = 0;
-
$(this).selectmenu("refresh", true);
해결
이것저것 해보다가 focus를 빼주면 될것같아서 해봤는데 되더라고요.
// select change
$('#colorList').change(function(e){
let selectedVal = $(this).val();
addColors(selectedVal);
$(this).blur(); // focus 를 빼고 아래에서 값 변경
$(this).val('');
});
728x90
반응형
'React,Node,JQuery,js' 카테고리의 다른 글
[javascript] 스크롤 이동 scroll to top 사용하기 (0) | 2020.12.28 |
---|---|
[javascript] Json Key 가져오기 #keys #getOwnPropertyNames (0) | 2020.12.18 |
[javascript] event 에 $(this) 사용 시 주의 사항. 01 (0) | 2020.12.15 |
[jQuery] jquery selector (예제 多) (0) | 2020.11.12 |
[js] Javascript online editor (0) | 2020.11.05 |
댓글