1.JQUERY JSON 파싱

 

<< JSON >>

   


 

 

조금이나마 보기 편하게 처리 했습니다...ㅎ0ㅎ

 

<< 응답 결과 처리 >>

 



 

38라인 : json 포맷으로 응답받기 위해 dataType 을 json로 지정해서 요청

 

42라인 : 응답결과가 정상적으로 왔을 경우 호출되는 함수

 

44라인 : 각각의 친구 인적사항을 가지고 있는 'UnoFriendList'의 배열값을 가져옴

 

나머진 소스코드의 주석 내용을 보시면 되겠네요^^

 

<< 응답 결과 >>


 



(주의)

38라인에서 응답 포맷을 json으로 지정하지 않는다면 텍스트(문자열) 형태로

 

결과값이 넘어옵니다.

 

그러면 response_json  함수의 인자인 json 이 문자열 이므로

 

객체타입으로 변경해주어야 파싱이 가능하겠죠??

 

두가지 방법이 있습니다.

 

1. JQUERY 의 함수 사용

 

var obj = $.parseJSON(json);

 

2. 자바스크립트 함수 사용

 

var obj = eval("(" + json + ")");

 

둘중 아무거나 사용하셔도 객체타입으로 변경되어 파싱 하실수 있습니다.^^




2.JQUERY XML 파싱


어떤 요청에 대한 응답 결과의 포맷을 XML 아니면 JSON 형태로 많이 받는거 같습니다..!!

 

저는 응답결과를 브라우저로 확인할때는 XML 을 사용하고, 실제 처리는 JSON 포맷으로 받아서 처리하고 합니다..ㅎㅎ

그래서인지 JQUERY XML 파싱은 어떻게 하더라??~~하고 기억이 가물가물..!!^^

 

아래 간단한 예제를 작성해 보았습니다.

(예제의 응답 결과는 '친구 3명의 인적사항' 입니다.ㅋㅋㅋ)

 

<< XML 응답 결과 >>





 

Friend 노드가 3개 있으며

각 노드안에 

  • name(이름)
  • phone(폰)
  • address(주소)
  • birth(생일)
  • family(가족)
  • date(등록일)

있습니다.

 

이중에서 family 의 이름을 가르키는

family_name_1, family_name_2.... 를 제외하고는 노드명이 고정 입니다.

(가족수가 많으면 family_name_3...4..5 늘어나겠죠..^^)

 


 

38라인 : xml 포맷으로 응답받기 위해 dataType 을 xml 로 지정해서 요청

47라인 : 응답결과가 정상적으로 왔을 경우 호출되는 함수

49라인 : 각각의 친구 인적사항을 감싸고 있는 'Friend' 노드를 찾는다.(여기선 3개 나옴)

57라인 : Friend 노드의 수(3개) 만큼 each 함수로 루프를 돈다.

60~73라인 : 각각의 항목을 찾아 그 값을 구한다.( $(this).find("찾을 값").text() )

69라인 : 가족의 이름을 포함하는 'family'를 찾은후 그 자식 노드를 구한다(children 사용)

             자식노드의 수만큼 루프를 돌아 각각의 이름을 구한다.

 

Jquery 의 find 와 each , text 함수만 알아도 xml 파싱이 술술 되네요^^

 

위의 예제에는 없지만

<Friend group="highschool">

과 같은 형식이 있다면 루프문 안에서

$(this).attr(group); 를 사용하여 'highschool' 값을 구하실 수 있습니다.!!

 

<< 결과값 보기 >>

 


  





 

 

 


'jQuery' 카테고리의 다른 글

jQuery 간단하게 사전처럼 찾아쓰기 (findfun 님블로그 정리)  (0) 2014.08.06
SelectBox 제어  (0) 2014.02.26
e.preventDefault()  (0) 2014.02.26
.attr() .prop() 왜 나누어졌는가  (0) 2014.02.04
제이쿼리 셀렉터 요약  (0) 2014.02.04

  1. 2012/07/20 UI Droppable, 이미지 갤러리 휴지통 기능 구현 (8)
  2. 2012/07/20 Droppable, visual 효과 처리, revert 기능 제어
  3. 2012/07/20 Droppable, 드롭 기본사용, 드롭 비활성, 전달 방지
  4. 2012/07/11 Draggable, 핸들러 제어, 드래그 + 정렬(Sortable) 기능
  5. 2012/07/10 Draggable, 드래그 Delay 주기, snap효과, 복원
  6. 2012/07/10 Draggable, 드래그 기본사용, 이벤트 제어, 움직임 제한
  7. 2012/07/02 jQuery.unique(), DOM 요소 배열에서 중복된 노드를 제거
  8. 2012/07/02 jQuery.type(), object 타입 알아내기
  9. 2012/07/02 jQuery.trim(), 양쪽 끝 공백 제거
  10. 2012/07/02 jQuery.removeData(), 데이터를 제거
  11. 2012/07/02 jQuery.parseXML(), XML 문서를 파싱
  12. 2012/07/02 jQuery.parseJSON(), JSON 문자열을 JavaScript object로 변환
  13. 2012/07/02 jQuery.now(), 현재 시간을 number로 반환 (2)
  14. 2012/07/02 jQuery.merge(), 두 개의 배열을 합치기
  15. 2012/07/02 jQuery.map(), 새로운 배열 요소로 변경
  16. 2012/07/02 jQuery.makeArray(), 자바스크립트 배열로 변환
  17. 2012/07/02 jQuery.isXMLDoc(), XML 문서인지 확인
  18. 2012/07/02 jQuery.isWindow(), Window 인지 확인
  19. 2012/07/02 jQuery.isPlainObject(), object인지 확인
  20. 2012/07/02 jQuery.isNumeric(), 숫자인지 확인 (2)
  21. 2012/07/02 jQuery.isFunction(), JavaScript 함수인지 확인 (2)
  22. 2012/07/02 jQuery.isEmptyObject(), 객체가 empty 인지 확인
  23. 2012/07/02 jQuery.isArray(), 배열인지 확인
  24. 2012/07/02 jQuery.inArray(), 배열 내의 값을 찾아서 인덱스를 반환
  25. 2012/07/02 jQuery.grep(), 배열 요소를 찾아 걸러내기
  26. 2012/07/02 jQuery.extend(), 두개 이상의 객체를 합치기(Merge)
  27. 2012/07/02 jQuery.each(), 일반적인 반복 함수
  28. 2012/07/02 serializeArray(), 폼 요소를 names와 values 배열로 인코딩
  29. 2012/07/02 serialize(), 폼 요소 집합을 인코딩
  30. 2012/07/02 jQuery.post(), Ajax HTTP POST 방식 요청

  31. 2012/07/02 jQuery.param(), Ajax 데이터용 배열이나 객체를 직렬화
  32. 2012/07/02 load(), Ajax로 받은 HTML을 일치하는 요소 안에 추가
  33. 2012/07/02 jQuery.getScript, JavaScript 파일을 로드하고 실행
  34. 2012/07/02 jQuery.getJSON, JSON 데이터를 로드 (1)
  35. 2012/06/19 jQuery.get() HTTP GET 방식 Ajax 요청
  36. 2012/06/19 ajaxSuccess() Ajax 요청이 성공적으로 완료 때마다 호출
  37. 2012/06/19 ajaxStop() Ajax 요청이 완료되면 호출
  38. 2012/06/19 ajaxStart() Ajax 요청이 시작될 때 호출되는 함수
  39. 2012/06/19 jQuery.ajaxSetup() Ajax 옵션 값을 설정하는 함수
  40. 2012/06/19 ajaxSend() Ajax 요청을 보내기 전에 호출되는 이벤트
  41. 2012/06/19 jQuery.ajaxPrefilter() $.ajax() 함수 호출 전 Ajax 옵션 수정
  42. 2012/06/19 ajaxError() Ajax 에러가 발생되면 호출
  43. 2012/06/15 ajaxComplete() Ajax가 완료되면 호출 (4)
  44. 2012/06/12 jQuery.ajax() HTTP 비동기 데이터 교환
  45. 2012/05/08 toggle(), 요소 표시 또는 숨기기, 토글하기
  46. 2012/05/08 jQuery .stop(), 애니메이션 효과 멈춤
  47. 2012/04/25 slideUp(), 슬라이드 효과로 숨기기
  48. 2012/04/25 slideToggle(), 슬라이드 토글하기
  49. 2012/04/25 slideDown(), 슬라이드 효과로 보이기
  50. 2012/04/25 show(), 요소 보이게 하기
  51. 2012/04/25 queue(), 대기열의 함수와 대기열 조작하기
  52. 2012/04/19 hide(), 요소 숨기기 (2)
  53. 2012/04/19 jQuery.fx.off, 전체 애니메이션 효과 전역 설정
  54. 2012/04/16 jQuery.fx.interval, 에니메이션 프레임 조절
  55. 2012/04/16 fadeToggle(), 페이드 인/아웃 토글 (2)
  56. 2012/04/16 fadeTo(), 투명도를 조절하기
  57. 2012/04/16 fadeOut(), 서서히 사라지게 하기
  58. 2012/04/16 fadeIn(), 서서히 나타나게 하기
  59. 2012/04/16 dequeue(), 대기열의 다음 함수 실행 (2)
  60. 2012/04/16 delay(), 대기열의 함수 실행을 지연시키기
  1. 2012/04/16 clearQueue(), 대기열의 함수를 제거
  2. 2012/03/30 animate(), 요소를 움직이기 (6)
  3. 2012/03/20 unload(), 페이지에서 벗어날 때
  4. 2012/03/20 undelegate(), 바인딩 해제하기
  5. 2012/03/20 unbind(), 바인딩 해제하기
  6. 2012/03/20 triggerHandler(), 하나의 함수만 실행시키기
  7. 2012/03/20 trigger(), 함수 실행시키기
  8. 2012/03/09 toggle(), 토글하기
  9. 2012/03/09 submit(), 폼 전송 이벤트
  10. 2012/03/09 select(), 텍스트 드래그 이벤트 (2)
  11. 2012/03/06 scroll(), 스크롤 이벤트 (3)
  12. 2012/03/06 resize(), 사이즈 바꾸기
  13. 2012/03/06 ready(), 문서가 준비되면 실행하기
  14. 2012/02/24 one(), 이벤트 발생하면 바인딩 자동해제 (3)
  15. 2012/02/24 on(), 이벤트 바인딩 하기
  16. 2012/02/24 off(), 이벤트 해제하기
  17. 2012/01/13 jQuery API - mouseup(), 마우스를 눌렀다 뗄 때
  18. 2012/01/13 jQuery API - mouseover(), 마우스가 올라올 때 (3)
  19. 2012/01/13 jQuery API - mouseout(), 마우스가 떠날 때 (2)
  20. 2012/01/13 jQuery API - mousemove(), 마우스가 요소에서 움직일 때
  21. 2012/01/13 jQuery API - mouseleave(), 마우스가 요소에서 벗어날 때
  22. 2012/01/04 jQuery API - mouseenter(), 마우스 진입 감지 이벤트
  23. 2012/01/04 jQuery API, mousedown, 마우스 누름 이벤트
  24. 2012/01/04 jQuery API - load(), 로드되면 발생하는 이벤트
  25. 2011/12/26 jQuery API - live(), 이벤트 바인딩하기
  26. 2011/12/26 jQuery API 정복 - keyup(), 키를 눌렀다 뗄때
  27. 2011/12/26 jQuery API 정복 - keypress(), 브라우져의 키 누름 이벤트
  28. 2011/12/26 jQuery API 정복 - keydown(), 키보드 누름 이벤트 (2)
  29. 2011/12/26 jQuery API 정복 - hover(), 마우스 오버 이벤트
  30. 2011/12/13 jQuery API 정복 - focus(), 요소에 포커스 주기

  31. 2011/12/13 jQuery API 정복 - event.timeStamp, 이벤트 사이의 시간
  32. 2011/12/13 jQuery API 정복 - event.target, 이벤트가 발생한 요소
  33. 2011/12/13 jQuery API 정복 - event.pageY, 마우스 Y 좌표
  34. 2011/12/13 jQuery API 정복 - event.pageX, 마우스 X 좌표
  35. 2011/12/08 jQuery API 정복 - die(), 이벤트 해제하기 (2)
  36. 2011/12/08 jQuery API 정복 - delegate(), 이벤트 바인딩하기 (1)
  37. 2011/11/25 jQuery API 정복 - 더블클릭 이벤트, dblclick() (4)
  38. 2011/11/25 jQuery API 정복 - 클릭 이벤트, click()
  39. 2011/11/24 jQuery API 정복 - 변경 이벤트, change()
  40. 2011/11/24 jQuery API 정복 - 포커스 잃을 때 이벤트, blur() (1)
  41. 2011/11/23 jQuery API 정복 - 이벤트 연결하기, bind() (4)
  42. 2011/11/22 jQuery API 정복 - 요소 별로 감싸기, wrapAll()
  43. 2011/11/22 jQuery API 정복 - 넓이 구하기, width()
  44. 2011/11/22 jQuery API 정복 - 요소 감싸기, wrap()
  45. 2011/11/22 jQuery API 정복 - 감싼 요소 제거하기, unwrap()
  46. 2011/11/22 jQuery API 정복 - class 토글하기, toggleClass()
  47. 2011/11/22 jQuery API 정복 - 텍스트만 알아내기, text() (5)
  48. 2011/11/22 jQuery API 정복 - 수직 스크롤 이동, scrollTop() (2)
  49. 2011/11/22 jQuery API 정복 - 수평 스크롤 이동, scrollLeft()
  50. 2011/11/22 jQuery API 정복 - 요소 바꾸기, replaceWith()
  51. 2011/11/22 jQuery API 정복 - 요소 바꾸기, replaceAll() (2)
  52. 2011/11/22 jQuery API 정복 - property 제거, removeProp()
  53. 2011/11/22 jQuery API 정복 - 클래스 제거, removeClass()
  54. 2011/11/22 jQuery API 정복 - 속성 제거, removeAttr()
  55. 2011/11/22 jQuery API 정복 - 요소 제거, remove()
  56. 2011/11/22 jQuery API 정복 - 선택된 모든 요소의 앞에 추가하기2, prependTo()
  57. 2011/11/22 jQuery API 정복 - 선택된 모든 요소의 앞에 추가하기, prepend()
  58. 2011/11/22 jQuery API 정복 - 상대 좌표 구하기, position()
  59. 2011/11/22 jQuery API 정복 - border 포함 넓이 구하기, outerWidth()
  60. 2011/11/22 jQuery API 정복 - border포함 높이 구하기, outerHeight()

  61. 2011/11/22 jQuery API 정복 - 좌표 찾기, offset()
  62. 2011/11/22 jQuery API 정복 - 앞에 추가하기, insertBefore()
  63. 2011/11/22 jQuery API 정복 - 뒤에 추가하기, insertAfter()
  64. 2011/11/22 jQuery API 정복 - padding을 포함한 넓이 제어, innerWidth()
  65. 2011/11/22 jQuery API 정복 - padding 포함 높이 제어, innerHeight()
  66. 2011/11/22 jQuery API 정복 - 요소 높이 제어, height()
  67. 2011/11/22 jQuery API 정복 - 텍스트 비우기, empty()
  68. 2011/11/22 jQuery API 정복 - 요소 제거, detach() (2)
  69. 2011/11/22 jQuery API 정복 - 속성을 제어, css()
  70. 2011/11/22 jQuery API 정복 - 요소 복사하기, clone()
  71. 2011/11/22 jQuery API 정복 - 앞에 추가하기, before() (1)
  72. 2011/07/26 jQuery API 정복 - 새로운 요소 추가, appendTo() (4)
  73. 2011/07/20 jQuery API 정복 - 마지막 자식 요소 추가, append() (3)
  74. 2011/07/14 jQuery API 정복 - 뒤에 추가하기, after()
  75. 2011/07/07 jQuery API 정복 - 범위로 자르기, slice()
  76. 2011/07/06 jQuery API 정복 - 형제 요소들 찾기, siblings
  77. 2011/07/05 jQuery API 정복 - 이전에 있는 것들, prevAll()
  78. 2011/07/05 jQuery API 정복 - 이전 요소 찾기, prev()
  79. 2011/06/30 jQuery API 정복 - 특정 조건을 만날 때까지 이전 요소들을 쭈욱, prevUntil()
  80. 2011/06/29 jQuery API 정복 - 특정 부모를 찾을 때까지, parentsUntil()
  81. 2011/06/29 jQuery API 정복 - position으로 부모 찾기, offsetParent()
  82. 2011/06/28 jQuery API 정복 - 부모들 찾기, parents()
  83. 2011/06/28 jQuery API 정복 - 부모 찾기, parent()
  84. 2011/06/27 jQuery API 정복 - ~가 아닌 것, not() (4)
  85. 2011/06/22 jQuery API 정복 - 조건이 맞을 때까지 쭈욱, nextUntil()
  86. 2011/06/21 jQuery API 정복 - 현재 요소의 다음 요소 모두, nextAll()
  87. 2011/06/09 jQuery API 정복 - 현재 요소의 바로 다음 요소, next()
  88. 2011/06/08 jQuery API 정복 - 결과를 배열로 돌려받기, map() (3)
  89. 2011/05/31 jQuery API 정복 - 마지막 요소 찾기, last()
  90. 2011/05/30 jQuery API 정복 - 맞는지 확인하기, is() (4)
  1. 2011/05/25 jQuery API 정복 - 가지고 있나 없나? has() (2)
  2. 2011/05/24 jQuery API 정복 - 첫번째 요소 찾기, first() (2)
  3. 2011/05/19 jQuery API 정복 - 하위 요소 전부 찾기, find() (2)
  4. 2011/05/12 jQuery API 정복 - 선택 요소 집합에서 추출하기, filter() (8)
  5. 2011/05/02 jQuery API 정복 - 인덱스로 요소 찾기, eq() (4)
  6. 2011/04/29 jQuery API 정복 - 이전 선택요소로 돌아가기, end() (2)
  7. 2011/04/28 jQuery API 정복 - 선택된 요소만큼 루프, each() (4)
  8. 2011/04/26 jQuery API 정복 - 텍스트 노드를 포함한 자식요소 가져오기, contents() (4)
  9. 2011/04/21 jQuery API 정복 - 현재 요소에서 가장 가까운 선택 요소, closest() (1)
  10. 2011/04/07 jQuery API 정복 - 자식 요소들 찾기, children() (2)
  11. 2011/03/24 jQuery API 정복 - 선택된 요소들 이어 붙이기, andSelf() (6)
  12. 2011/03/21 jQuery API 정복 - 선택요소 확장하기, add() (2)
  13. 2011/03/17 jQuery API 정복 - 폼의 value 가져오기, val() (4)
  14. 2011/03/15 jQuery API 정복 - 클래스 토글하기, toggleClass (5)
  15. 2011/03/14 jQuery API 정복 - 클래스 제거, removeClass() (2)
  16. 2011/03/11 jQuery API 정복 - 속성 제거, removeAttr()
  17. 2011/03/10 jquery API 정복 - innerHTML 과 같은 표현, html() (10)
  18. 2011/03/03 jQuery API 정복 - 클래스가 있나 찾기, hasClass() (5)
  19. 2011/02/25 jQuery API 정복 - attr(), 속성을 제어하기 (2)
  20. 2011/02/25 jQuery API 정복 - addClass(), 클래스 추가하기 (4)
  21. 2011/02/24 jQuery API 정복 - 눈에 보이는 요소 찾기 : visible (5)
  22. 2011/02/24 jQuery API 정복 - text 박스 찾기 : text (2)
  23. 2011/02/22 jQuery API 정복 - submit 버튼 찾기 : submit (4)
  24. 2011/02/22 jQuery API 정복 - select 박스에서 선택된 것 찾기 : selected (4)
  25. 2011/02/21 jQuery API 정복 - reset 버튼 찾기 : reset (2)
  26. 2011/02/21 jQuery API 정복 - radio 버튼 찾기 : radio (2)
  27. 2011/02/18 jQuery API 정복 - type=password 인 것 찾기 : password (2)
  28. 2011/02/18 jQuery API 정복 - 다른 요소를 포함한 요소 찾기 : parent (2)
  29. 2011/02/17 jQuery API 정복 - 유일한 자식 요소 찾기 : only-child (8)
  30. 2011/02/17 jQuery API 정복 - 홀수번째 요소 찾기 : odd
  1. 2011/02/16 jQuery API 정복 - n번째 자식요소 찾기 : nth-child (4)
  2. 2011/02/16 jQuery API 정복 - ~이 아닌 요소 선택하기 : not (3)
  3. 2011/02/15 jQuery API 정복 - 다음 형제 요소 찾기 : next ~ siblings (4)
  4. 2011/02/14 jQuery API 정복 - 다음 요소 선택하기 : prev + next (5)
  5. 2011/02/14 jQuery API 정복 - 한번에 여러 요소 선택하기 : Multiple Selector (2)
  6. 2011/02/12 jQuery API 정복 - 다중 속성 필터를 이용한 요소 선택 : Mutiple Attribute Selector (2)
  7. 2011/02/12 jQuery API 정복 - 마지막 자식 요소 찾기 : last (2)
  8. 2011/02/11 jQuery API 정복 - 마지막 자식 요소들 찾기 : last-child (2)
  9. 2011/02/11 jQuery API 정복 - 폼에 속한 input 들 선택하기 : jQuery(':input')
  10. 2011/02/10 jQuery API 정복 - image 폼 요소 찾기 : jQuery(":image")
  11. 2011/02/10 jQuery API 정복 - ID 로 찾아내기 : jQuery("#id") (7)
  12. 2011/02/10 jQuery API 정복 - 안보이는 요소 찾기 : jQuery(':hidden') (1)
  13. 2011/02/09 jQuery API 정복 - 제목 태그(h1)를 찾자 : jQuery(':header') (8)
  14. 2011/02/09 jQuery API 정복 - 자식 중에 태그 찾기 : jQuery(':has(selector)') (30)
  15. 2011/02/08 jQuery API 정복 - 속성이 있는지 찾기 : jQuery('[attribute]') (10)
  16. 2011/02/08 jQuery API 정복 - 내용이 빈 태그 찾기 : jQuery(':empty') (7)
  17. 2011/02/07 jQuery API 정복 - 요소명(태그)으로 찾기 : jQuery('element')
  18. 2011/02/07 jQuery 1.5 버젼이 나왔습니다!! (8)
  19. 2011/02/07 jQuery API 정복 - ~보다 작은 요소 선택하기 : jQuery(':lt(index)') (7)
  20. 2011/02/01 jQuery API 정복 - ~보다 큰 요소 선택하기 : jQuery(':gt(index)') (3)
  21. 2011/01/31 jQuery API 정복 - 첫번째 요소 찾기 : jQuery(':first')
  22. 2011/01/31 jQuery API 정복 - 첫째 자식(?) 찾기 : jQuery(':first-child') (3)
  23. 2011/01/29 jQuery API 정복 - input file 찾기 : jQuery(':file')
  24. 2011/01/28 jQuery API 정복 - 리스트 짝수,홀수 찾기 : jQuery(':even') (2)
  25. 2011/01/28 jQuery API 정복 - 인덱스로 요소 찾기 : jQuery(':eq(index)') (6)
  26. 2011/01/28 jQuery API 정복 - 사용 불가 상태 선택하기 : jQuery(':disabled') (2)
  27. 2011/01/27 jQuery API 정복 - 자식 요소 선택하기 : jQuery('ancestor descendant') (2)
  28. 2011/01/27 jQuery API정복 - 특정 단어 포함 요소 선택하기 : jQuery(':contains(text)') (6)
  29. 2011/01/27 jQuery API 정복 - 클래스명으로 선택하기 : jQuery('.class') (4)
  1. 2011/01/27 jQuery 쉽게하기 - API 깨부시기, 선택자(Selector) : 하위 요소 선택 ("parent > child") (8)
  2. 2011/01/26 jQuery 쉽게하기 - API 깨부시기, 선택자(Selector) : 체크된 체크박스만 알아내기 (4)
  3. 2011/01/26 jQuery 쉽게하기 - API 깨부시기, 선택자(Selector) : 체크박스를 찾자 (6)
  4. 2011/01/25 jQuery 쉽게하기 - API 깨부시기, 선택자(Selector) : button 을 찾자 (3)
  5. 2011/01/24 jQuery 쉽게하기 - API 깨부시기, 선택자(Selector) : [name^="value"] (4)
  6. 2011/01/24 jQuery 쉽게하기 - API 깨부시기, 선택자(Selector) : [name!="value"] (5)
  7. 2011/01/22 jQuery 쉽게하기 - API 깨부시기, 선택자(Selector) : [name="value"] (7)
  8. 2011/01/22 jQuery 쉽게하기 - API 깨부시기, 선택자(Selector) : [name$="value"] (2)
  9. 2011/01/21 jQuery 쉽게하기 - API 깨부시기, 선택자(Selector) : [name~="value"] (2)
  10. 2011/01/21 jQuery 쉽게하기 - API 깨부시기, 선택자(Selector) : [name*="value"] (2)
  11. 2011/01/20 jQuery 쉽게하기 - API 깨부시기, 선택자(Selector) : [name|="value"] (2)
  12. 2011/01/20 jQuery 쉽게하기 - API 깨부시기, 선택자(Selector) : ":animated" (9)
  13. 2011/01/19 jQuery 쉽게하기 - API 깨부시기, 선택자(Selectors) : All Selector ("*") (14)
  14. 2011/01/19 jQuery 쉽게하기 - API 깨부시기, jQuery Core (12)
  15. 2011/01/18 jQuery 쉽게하기 - 기본부터 시작하자, 함수(Function) 편 (4)
  16. 2011/01/18 jQuery 쉽게하기 - 기본부터 시작하자, 배열(Array) 편 (4)
  17. 2011/01/17 jQuery 쉽게하기 - 기본부터 시작하자, Object 편 (8)
  18. 2011/01/17 jQuery 쉽게하기 - 기본부터 시작하자, Number 편 (14)
  19. 2011/01/14 jQuery 쉽게하기 - 기본부터 시작하자, string 편 (11)
  20. 2011/01/14 jQuery 쉽게하기 - 파이어폭스의 파어어버그 사용하여 디버깅하기 (6)
  21. 2011/01/13 jQuery 쉽게하기 - 다른 라이브러리와 같이 쓰기 (12)
  22. 2011/01/13 jQuery 쉽게하기 - 자주 묻는 질문과 답변, 두번째 (11)
  23. 2011/01/12 jQuery 쉽게하기 - 자주 묻는 질문과 답변, 그 첫번째 (9)
  24. 2011/01/11 jQuery 쉽게하기 - jQuery 어떻게 쓰는 건가요? (48)
  25. 2011/01/10 jQuery 쉽게하기 - jQuery 를 다운받아 보자. (12)
  26. 2011/01/10 jQuery 쉽게하기 - Documentation 의 Main Page (13)
  27. 2011/01/06 JQuery 쉽게하기 - 시작하기에 앞서 (33)


'jQuery' 카테고리의 다른 글

[JQuery] XML,JSON 파싱  (0) 2014.09.03
SelectBox 제어  (0) 2014.02.26
e.preventDefault()  (0) 2014.02.26
.attr() .prop() 왜 나누어졌는가  (0) 2014.02.04
제이쿼리 셀렉터 요약  (0) 2014.02.04

 

  • select box의 내용 가져오기
    var selValue = $("#select_box > option:selected").val();
  • 또는

    var selValue = $("#select_box option:selected").val();

    select box의 값 설정
    $("#select_box > option[@value=지정값]").attr("selected", "true");

    select box selected 값의 text 값 가져오기

  • $('#select_box > option[value='+selValue+']').text();   // selValue 는 위에 있는 selected value 에서 가
  •     져온 값



    jQuery로 선택된 값 읽기

    $("#selectBox option:selected").val();

    $("#select_box > option:selected").val()

    $("select[name=name]").val();

     

    jQuery로 선택된 내용 읽기

    $("#selectBox option:selected").text();

     

    선택된 위치

    var index = $("#test option").index($("#test option:selected"));

     

    -------------------------------------------------------------------

     

    // Add options to the end of a select

    $("#selectBox").append("<option value='1'>Apples</option>");

    $("#selectBox").append("<option value='2'>After Apples</option>");

     

    // Add options to the start of a select

    $("#selectBox").prepend("<option value='0'>Before Apples</option>");

     

    // Replace all the options with new options

    $("#selectBox")

    .html("<option value='1'>oranges</option><option value='2'>Oranges</option>");

     

    // Replace items at a certain index

    $("#selectBox option:eq(1)")

    .replaceWith("<option value='2'>apples</option>");

    $("#selectBox option:eq(2)")

    .replaceWith("<option value='3'>bananas</option>");

     

    // 지정된 index 값으로 select 하기

    $("#selectBox option:eq(2)").attr("selected""selected");

     

    // text 값으로 select 하기

    $("#selectBox").val("Some oranges").attr("selected""selected");

     

    // value 값으로 select 하기

    $("#selectBox").val("2");

    $("#selectBox > option[@value=지정값]").attr("selected", "true");

     

    // 지정된 인덱스 값의 item 삭제

    $("#selectBox option:eq(0)").remove();

     

    // 첫번째 item 삭제

    $("#selectBox option:first").remove();

     

    // 마지막 item 삭제

    $("#selectBox option:last").remove();

     

    // 선택된 옵션의 text 구하기

    alert($("#selectBox option:selected").text());

     

    // 선택된 옵션의 value 구하기

    alert($("#selectBox option:selected").val());

     

    // 선택된 옵션 index 구하기

    alert($("#selectBox option").index($("#selectBox option:selected")));

     

    // SelecBox 아이템 갯수 구하기

    alert($("#selectBox option").size());

     

    // 선택된 옵션 앞의 아이템 갯수

    alert($("#selectBox option:selected").prevAll().size());

     

    // 선택된 옵션 후의 아이템 갯수

    alert($("#selectBox option:selected").nextAll().size());

     

    // 0번째 item 다음에 삽입

    $("#selectBox option:eq(0)").after("<option value='4'>Some pears</option>");

     

    // 3번째 item 전에 삽입

    $("#selectBox option:eq(3)").before("<option value='5'>Some apricots</option>");

     

    // select box 값이 변경될때 선택된 현재값

    $("#selectBox").change(function() {

               alert($(this).val());

               alert($(this).children("option:selected").text());

    });



    ++++++

    셀렉트 박스 노출 위치 조정



    <!DOCTYPE html>

    <html>
    <head>
        <meta charset="utf-8">
    </head>
    <body>
    <form name="frmOrder">
        <input name="order">
    <table>
    <caption>노출순서 조정</caption>
        <tr>
            <td>
                <select id="list" name="list" size="10">
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                    <option value="4">4</option>
                    <option value="5">5</option>
                    <option value="6">6</option>
                    <option value="7">7</option>
                    <option value="8">8</option>
                    <option value="9">9</option>
                    <option value="10">10</option>
                </select>
            </td>
            <td>
                <input type="button" onclick="fnGoTop(frmOrder.list)" style="width: 100px" value="맨위로" /><br />
                <input type="button" onclick="fnGoUp(frmOrder.list)" style="width: 100px" value="위로" /><br />
                <input type="button" onclick="fnGoDown(frmOrder.list)" style="width: 100px" value="아래로" /><br />
                <input type="button" onclick="fnGoBottom(frmOrder.list)" style="width: 100px" value="맨아래로" /><br />
                <input type="button" onclick="fnSave(frmOrder.list)" style="width: 100px" value="저장" />
            </td>
        </tr>
    </table>    
    </form>
    </body>
    </html>

    <script type="text/javascript">
        function fnSave(obj) {
            var i;
            var opts = obj.options;
            var order = frmOrder.order;
            
            order.value = "";

            for (i = 0; i < opts.length - 1; i++) {
                order.value += opts[i].value + ",";
            }

            order.value += opts[i].value;

            //document.frmOrder.submit();
        }

        function fnGoUp(obj) {
            if(obj.selectedIndex == -1) {
                alert("대표분류를 선택하세요");
                return;
            }

            var opts = obj.options;

            for (var i = 0; i < opts.length; i++) {
                if (opts[i].selected && i > 0) {
                    tmp = opts[i].cloneNode(true);
                    opts[i].removeNode(true);
                    opts[i - 1].insertAdjacentElement("beforeBegin", tmp).selected = true;
                }
            }

            obj.focus();
        }

        function fnGoDown(obj) {
            if(obj.selectedIndex == -1) {
                alert("대표분류를 선택하세요");
                return;
            }

            var opts = obj.options;

            for (var i = opts.length - 1; i >= 0; i--) {
                if (opts[i].selected && i < opts.length - 1) {
                    tmp = opts[i].cloneNode(true);
                    opts[i].removeNode(true);
                    opts[i].insertAdjacentElement("afterEnd", tmp).selected = true;
                }
            }

            obj.focus();
        }


        function fnGoTop(obj) {
            if(obj.selectedIndex == -1) {
                alert("대표분류를 선택하세요");
                return;
            }

            var opt = obj.options[obj.selectedIndex];
            var clon = opt.cloneNode(true);
            opt.removeNode(true);
            obj.options.insertAdjacentElement("afterBegin", clon).selected = true;

            obj.focus();
        }

        function fnGoBottom(obj) {
            if(obj.selectedIndex == -1) {
                alert("대표분류를 선택하세요");
                return;
            }

            var opt = obj.options[obj.selectedIndex];
            var clon = opt.cloneNode(true);
            opt.removeNode(true);
            obj.options.insertAdjacentElement("beforeEnd", clon).selected = true;

            obj.focus();
        }
    </script>



    그 대상을 클릭했을때 발생하는 이벤트를 방지합니다

     

    예를 들어

    <table class="qnaList" summary="질문 목록 입니다">

    <caption>질문목록</caption>
       <colgroup>
        <col width="3%" />
        <col width="9%" />
        <col width="88%" />
       </colgroup>
       <thead>
       <tr>
        <th scope="col">비밀글여부</th>
        <th scope="col">번호</th>
        <th scope="col">정보</th>
       </tr>
       </thead>
       <tbody>

    <tr>
           <td>비밀</td>
           <td class="number">${article.positionIdx}</td>
           <td>
            <a href="${ctx}/qna/${article.ntsSno}" title="${article.title}">${article.title}</a>      

            <p>
             <fmt:formatDate value="${artcle.regDttm}" pattern="yy.MM.dd" /> |
                                        조회수 <span>${article.inqNum}</span>
            </p>
           </td>
          </tr>

    </tbody>

    <script type="text/javascript>

    $('table.qnaList tr').bind('mouseenter',function () {
      $(this).addClass('on');
     }).bind('mouseleave',function () {
              $(this).removeClass('on');
             }).bind('click', function (e) {
                          e.preventDefault();
                          location.href = $(this).find('a').eq(0).attr('href');
                     });

    </script>

     

    위와 같은 경우

    e.preventDefault()를 빼면 a tag 한번 location.href 한번 이렇게 두번이 실행됩니다.

    그래서 a tag 의 이벤트를 무시하고 location.href 만 실행되도록 합니다.

     

    응용할수 있는 부분은 많습니다.

    a tag 에 이미지 주소가 있고

    그 태그를 클릭할때마다 특정영역의 이미지를 변경하게 한다거나.. ajax 파라메터로 쓴다거나 등등?

    'jQuery' 카테고리의 다른 글

    jQuery 간단하게 사전처럼 찾아쓰기 (findfun 님블로그 정리)  (0) 2014.08.06
    SelectBox 제어  (0) 2014.02.26
    .attr() .prop() 왜 나누어졌는가  (0) 2014.02.04
    제이쿼리 셀렉터 요약  (0) 2014.02.04
    jQuery select box 제어  (0) 2014.02.04

    + Recent posts