- checkbox 값 체크 여부 받아오기 -
체크박스는 토글 요소다.
체크가 되어 있거나, 되어 있지 않거나, 둘 중 하나다.
체크 여부는 checked 속성을 확인할 수 있다.
체크되어 있으면 checked 가 활성화돼 있고,
체크되어 있지 않으면 checked 속성이 없다.
jQuery를 활용하면 특정 체크박스가
체크되어 있는지 아닌지 여부를
손쉽게 확인할 수 있다.
> is() 함수 이용하기
const isChecked = $(item).find('input[name="isRefund"]').is(':checked');
is() 함수는 파라미터로 던져주는
선택자, 함수, 요소 등에 부합하는 대상이 있다면
true를 반환하고, 없으면 false를 반환한다.
$(item).find('input[name="isRefund"]')
체크박스가 체크된 상태라면 checked 속성이 활성화되므로,
체크박스 요소 안에서 ':checked' 인지 확인하면
체크된 상태인지 아닌지 확인할 수 있다.
is() 함수는 아래처럼 활용할 수 있다.
if ( $( this ).is( ":first-child" ) ) {
$( "p" ).text( "It's the first div." );
}
if ( $( this ).is( ".blue,.red" ) ) {
$( "p" ).text( "It's a blue or red div." );
}
if ( $( this ).is( ":contains('Peter')" ) ) {
$( "p" ).text( "It's Peter!" );
}
> prop() 함수 이용하기
prop() 함수를 이용해서 받아올 수도 있다.
prop() 함수 안에 속성의 키를 넣어주면
그 속성의 값을 얻어온다.
$(item).prop('id'); //id 속성의 값을 받아온다
$(item).prop('class'); //class 속성의 값을 받아온다
$(item).prop('row-num'); //row-num 속성의 값을 받아온다
$(item).prop('checked'); //checked 속성의 값을 받아온다
...
- checkbox 요소의 체크 상태 변경 -
prop() 함수는 또 다른 기능이 있다.
속성 값을 받아오는 것뿐만 아니라
값을 변경하는 것도 가능하다.
사용자 행동에 따라서 이벤트를 통해
체크박스의 체크 상태 값을 변경해야 할 때가 있다.
그럴 때는 앞에서 알아봤던 prop 함수에
파라미터를 하나 더 넣어주면 된다.
즉, 파라미터의 갯수에 따라서 기능이 바뀌는데,
하나만 넣어주면 그 값을 얻어오고,
두 개를 넣어주면 그 값을 변경한다.
$(item).prop('id', 'fruitOrange'); // id 속성의 값을 fruitOrange로 변경한다
$(item).prop('class', 'fruitName'); // class 속성의 값을 fruitName로 변경한다
$(item).prop('row-num', '21'); // row-num 속성의 값을 21로 변경한다
$(item).prop('checked', true); // checked 속성의 값을 true로 변경한다. (파라미터의 자료형은 문자열이 아니라 boolean이라는 점에 유의하자.)
$(item).prop("checked", false); // checked 속성의 값을 false로 변경한다. (파라미터의 자료형은 문자열이 아니라 boolean이라는 점에 유의하자.)
- checkbox 값 토글 -
checkbox 의 값을 이벤트에 따라서 변경해야 할 때가 있다.
이때, true나 false로 못을 박는 게 아니라,
현재 상태에서 반대 값으로 바꿔줘야 할 때가 있다.
일일이 현재 값을 받아와서 그 반대 값을 넣어주기는 번거롭다.
대신 prop() 함수에서 두 번째 파라미터로 아래와 같은 함수를 넣어주면 된다.
$('input#check1').prop('checked', function(i, val){return !val;});
- disabled 에 적용 가능 -
'disabled' 속성도 checked와 마찬가지로 토글 속성이기 때문에
앞에서 살펴봤던 prop() 함수를 그대로 적용할 수 있다.
$(item).prop('disabled'); //disabled 속성의 값을 받아온다.
$(item).prop('disabled', true); //disabled 속성의 값을 true로 변경한다. (파라미터의 자료형은 문자열이 아니라 boolean이라는 점에 유의하자.)
$(item).prop("disabled", false); //disabled 속성의 값을 false 변경한다. (파라미터의 자료형은 문자열이 아니라 boolean이라는 점에 유의하자.)
$('input#check1').prop('disabled', function(i, val){return !val;}); //disabled 속성의 값을 현재 상태의 반대 값으로 변경한다
>참고 자료
https://api.jquery.com/prop/
https://api.jquery.com/is/
-220413
'JavaScript' 카테고리의 다른 글
input 태그에서 최소값 min 최대값 max 설정하기 / text에서 숫자만 받기 number only (0) | 2022.04.17 |
---|---|
[JavaScript] yyyy-mm-dd 형태로 format 해서 출력하기 (0) | 2022.04.17 |
크롬 개발자 도구 (F12) 를 바탕으로 원하는 attributes 값 받아오기 (0) | 2022.04.17 |
jQuery 에서 find() 함수 사용법 / Vanilla JS로 바꾸기 (0) | 2022.04.17 |
JSON 이란? 배열을 stringify 해서 ajax로 보내고 java에서 parser로 파싱하기 (0) | 2022.04.13 |