일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 30 | 31 |
- MYSQL
- 날짜
- HTML5
- 네이버스마트 에디터
- 오라클
- @RequestBody
- null
- php
- 문자열
- jquery
- 웹 플랫폼 설치 관리자
- Oracle
- SSL
- 전자정부 표준프레임워크
- DB
- RADIO
- exception
- 톰캣
- 호환성
- spring form tag
- 스크립트
- switch
- java
- 한글
- maven
- html
- 이클립스
- json
- checbox
- JSTL
- Today
- Total
개인적인 정리
checkbox 선택 ie9 본문
$(this).prop('checked', true);
$(this).attr("checked", true);
$(this).attr('checked', 'checked');
3개 중에 하나는 되는 듯...
ie9에서 prop을 썼을 경우에 잘 되었는데,
ie9에서 ajax 로 데이타를 불러와서 레이어를 띄워 checkbox를 control 하는 경우에는 prop이 되지 않았다.
그런 경우에는 $(this).attr('checked', 'checked'); 이 동작을 해서 다행히도 control 가능했다.
<script type="text/javascript" src="/js/common/jquery-1.11.2.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
//default 전체 선택
$('input:checkbox[name="deptpersonchk"]').each(function (){
/*ie9에서 안될 때가 있어서 3개 모두 내버려둠 */
$(this).prop('checked', true);
$(this).attr("checked", true);
$(this).attr('checked', 'checked');
$('input:checkbox[name="allSelect"]').each(function (){
$(this).prop('checked', true);
$(this).attr("checked", true);
$(this).attr('checked', 'checked');
});
});
$('input:checkbox[name="allSelect"]').bind('click', function(){
if($("input:checkbox[name='deptpersonchk']").length != $("input:checkbox[name='deptpersonchk']:checked").length){
$("input:checkbox[name='deptpersonchk']").each(function (){
$(this).prop('checked', true);
$(this).attr("checked", true);
$(this).attr('checked', 'checked');
});
$("input:checkbox[name='allSelect']").each(function (){
$(this).prop('checked', true);
$(this).attr("checked", true);
$(this).attr('checked', 'checked');
});
}else {
$("input:checkbox[name='deptpersonchk']").each(function (){
$(this).prop('checked', false);
$(this).attr("checked", false);
$(this).attr('checked', 'false');
$(this).removeAttr('checked');
});
$("input:checkbox[name='allSelect']").each(function (){
$(this).prop('checked', false);
$(this).attr("checked", false);
$(this).attr('checked', 'false');
$(this).removeAttr('checked');
});
}
});
});
부분을 html 맨 아래로 뺐다.
그리고 해제를 위해서는 $(this).removeAttr('checked'); 를 사용하니 된다.
아.. 그냥 스크립트 부분을 소스 맨 아래로 내렸더니 .prop도 잘 먹는다.
'Script & jQuery' 카테고리의 다른 글
input radio (0) | 2016.11.04 |
---|---|
input type="submit" 에 커서 추가 (0) | 2016.09.20 |
숫자 체크 (0) | 2016.09.07 |
선택된 checkbox (0) | 2016.08.30 |
첨부파일 확장자 체크 (0) | 2016.08.30 |
현재시간 (0) | 2016.08.25 |
radio 관련 (0) | 2016.08.25 |
display block, dispaly none (0) | 2016.08.25 |