FlowerBombs
입력 요소 값 가져오기 본문
입력 요소 값 가져오기
값 설정하기
1 | $("셀렉터").val("내용"); | cs |
값 읽어오기
text, select(드롭다운)
1 | var input = $("셀렉터").val(); | cs |
드롭다운요소의 경우 사용하지 않는 <option> 태그라 하더라도 value속성값을 부여해야 한다.
1 2 3 4 | <select name='foo'> <option value="">---선택하세요 ---</option> <option value="bar">item 1</option> </select> | cs |
라디오 버튼의 경우
- 셀렉터가 여러개를 의미하는 경우이므로 그 중에서 선택된 항목만 지정하는 셀렉터를 사용해야 한다.
- 라디오는 하나만 선택 가능하므로 가져온 결과 자체는 단일 값이다.
1 | var input = $("셀렉터:checked").val(); | cs |
체크박스의 경우
- .checked 가상클래스를 통해 가져온 대상이 배열 상태가 되므로 이를 반복문으로 처리해야 한다.
- 배열의 요소는 선택된 체크박스들에 대한 HTML 태그가 된다.
- 그러므로 각 HTML 태그를 다시 jQuery 객체로 변환하여 사용해야 한다.
1 2 3 4 5 6 7 | var input = $("셀렉터:checked"); for (var i=0; i<input.length; i++){ // 배열에 포함된 원소(HTML태그)를 jQuery객체로 변환 var tmp = $(input[i]); ... } | cs |
포커스 강제 지정
1 | $("셀렉터").focus(); | cs |
입력 요소 제어
$.each() 함수
배열을 탐색하는 jQuery 기능.
1 2 3 4 5 6 7 | var data = ['hello', 'world']; // $.each(data, function(index, item) { // index는 순차적으로 0,1 // item은 순차적으로 'hello', 'world' }); | cs |
- 배열의 원소가 HTMl객체인 경우 jQuery객체로 변환하여 사용해야 한다.
ex) 체크박스
1 2 3 4 5 6 | var data = ['<input type-"checkbox"/>', '<input type-"checkbox"/>']; // 배열을 탐색하면서 원소의 수 만큼 콜백함수가 호출된다 $.each(data, function(index, item){ // $(item) 형태로 객체를 생성하여 처리 가능. }); | cs |
원래의 목적은 객체를 탐색하는 기능.
1 2 3 4 5 6 | var data = {name: 'hello', userid: 'world', age: 20}; $.each(data, function(index, item) { console.log(index + ">>" + item); }); | cs |
입력요소 관련 submit 이외의 이벤트
포커스가 들어온 경우
1 2 3 | $("셀렉터").focus(function( [e] ) { ... }); | cs |
포커스가 빠져나간 경우
1 2 3 | $("셀렉터").blur(function( [e] ) { ... }); | cs |
상태가 변경된 경우
change 이벤트는 주로 라디오, 체크박스, 드롭다운에 대하여 활용도가 높다
1 2 3 | $("셀렉터").change(function( [e] ) { ... }); | cs |
텍스트를 입력하는 요소일 경우
내용이 변경되고 포커스가 빠져 나올 때 이벤트가 발생한다.
체크박스나 라디오 버튼의 경우
선택 상태가 변경된 즉시 발생한다.
드롭다운의 경우
선택상태가 변경된 즉시 발생한다.
프로퍼티 설정
- HTML 태그에서 값을 갖지 않는 속성 : property
- 값을 갖는 속성 : attribute
프로퍼티의 적용여부 조회
특정 프로퍼티의 적용여부를 boolean 값으로 조회한다.
checked, disabled, selected
1 | var is = $("셀렉터").prop('프로퍼티 이름'); | cs |
ex) 체크박스만 checked 속성이 적용되어 있는지 여부 확인
1 | <input type="checkbox" class='foo' disabled/> | cs |
1 2 | // 속성이 적용되어 있으므로 true var ok = $(".foo").prop('disabled'); | cs |
프로퍼티의 설정/해제
prop 함수에 두 번째 파라미터로 boolean값을 전달하면 프로퍼티를 강제로 설정하거나 해제할 수 있다.
1 | $(".foo").prop('disabled', true|false); | cs |
'Javascript & JQuery&Ajax' 카테고리의 다른 글
정규표현식 (0) | 2019.02.13 |
---|---|
요소의 탐색 (0) | 2019.02.12 |
HTML 요소의 CSS속성과 CSS클래스 제어 (0) | 2019.02.11 |
요소의 판별 (0) | 2019.02.08 |
JQuery 이벤트 (0) | 2019.02.08 |
Comments