웹페이지에서 선택박스 일명 셀렉트박스(SelectBox) 를 클릭할때마다 검색조건이 바뀌거나
페이지가 바뀌거나 하는걸 보셨을겁니다
기본적인 것이지만 경험해본적이 없으면 어떤방식으로 하는지 알기힘든부분입니다
간단하게 예제 몇가지를 통하여 알아보겠습니다
1. Question
선택을 할 수 있도록 셀렉트 박스를 만들었습니다. 샐랙트 박스에서 년도를 선택하면 바로 화면이 년도에 맞춰서 바로바로 바꿔주고 싶습니다. function으로 하는거 같은 어찌해야 할가요? |
1 2 3 4 5 | <select name="searchYear" id="searchYear"> <option value="2017">2017</option> <option value="2018">2018</option> <option value="2019">2019</option> </select> | cs |
2. Example1
1 2 3 4 5 | <select name="searchYear" id="searchYear" onchange="펑션명()"> <option value="2017">2017</option> <option value="2018">2018</option> <option value="2019">2019</option> </select> | cs |
3. Example2
1 2 3 | $("#searchYear").change(function(){ var yearVal = $(this).val(); }) | cs |
두가지 방법이 있는데
예제1 처럼 onchange 이벤트에 함수를 걸어주거나
change 이벤트를 태우는 방법이있습니다
방법은 여러가지이지만 개발시에는 둘중 한가지만으로 통일해서 개발하는것이 가독성에 좋습니다
적용해보시길 바랍니다
[javascript] selectbox 선택에 따라 두번째 selectbox 값 변화
selectbox의 선택에 따라 두번째 selectbox의 값이 변해야하는 경우가 있습니다.
지역 선택을 해야할 때나 품목 선택을 해야할 때가 그런 경우죠.
이때 사용하게 되는 것이, 해당하는 객체 값이 변할 때 발생하는 이벤트 함수인 onchange라는 함수입니다.
예제를 먼저 살펴볼까요. 먼저 html 부분에 해당 예제소스를 넣어주세요.
1 2 3 4 5 6 7 8 9 10 | < select onchange = "categoryChange(this)" > < option >걸그룹을 선택해주세요</ option > < option value = "a" >블랙핑크</ option > < option value = "b" >에프엑스</ option > < option value = "c" >EXID</ option > </ select > < select id = "good" > < option >좋아하는 멤버를 선택해주세요</ option > </ select > |
지극히 개인취향적인 걸그룹이 담긴 selectbox에 내용을 담고 다음에 javascript 스크립트를 넣어주면 완성입니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | function categoryChange(e) { var good_a = [ "지수" , "제니" , "로제" , "리사" ]; var good_b = [ "빅토리아" , "엠버" , "루나" , "크리스탈" ]; var good_c = [ "LE" , "하니" , "정화" , "혜린" , "솔지" ]; var target = document.getElementById( "good" ); if (e.value == "a" ) var d = good_a; else if (e.value == "b" ) var d = good_b; else if (e.value == "c" ) var d = good_c; target.options.length = 0; for (x in d) { var opt = document.createElement( "option" ); opt.value = d[x]; opt.innerHTML = d[x]; target.appendChild(opt); } }
|
단지 value값만을 가져온다면 단순히 document.getElementByName("selBox").value <---이렇게만 해줘도 된다.
그렇지만 "한국","미국","중국"처럼 내용값을 가져오려면
ex)
<select name="selBox">
<option value="1">한국</option> <--0번째값
<option value="2">미국</option> <--1번째값
<option value="3">중국</option> <--2번째값
document.getElementByName("selBox")[document.getElementByName("selBox").selelctedIndex].text
*만약2번을 선택한경우 selBox[1]번째의 text값을 가져오는것이다.
출처: http://sepiroth11.tistory.com/entry/자바스크립트select박스의-valuetext값을-얻어오기 [세피로스's 이야기]
'IT > Javascript|Jquery' 카테고리의 다른 글
비밀번호 /이메일/전화번호/핸드폰 정규식 (5) | 2018.01.09 |
---|---|
[JavaScript] ES6 문법 정리 (0) | 2018.01.08 |
ajax 로딩시 새로고침 문제 (6) | 2018.01.03 |
promise 패턴 예제 (0) | 2018.01.02 |
ajax 배열전송 (0) | 2018.01.02 |