์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ํ ์ด๋ธ
- ์ธ๋ผ์ธ๋ทฐ
- ์ฝํ
- ๋ฆฌ๋ ์ค
- ๋์ ํ ์ด๋ธ
- ๋ฐฑํฑ
- SQL
- ๋ณ์
- ์๋ฐ์คํฌ๋ฆฝํธ
- oracle
- order by
- like
- ๋์
- post๋ฐฉ์
- Update
- DATE_FORMAT
- Spring
- ํ๋ก๊ทธ๋๋จธ์ค
- optionํ๊ทธ
- ์ปจํธ๋กค๋ฌ
- ๋ช ๋ น์ด
- JS
- JSP
- JavaScript
- Ajax
- ๋์ปค
- select
- MySQL
- ๋ฐฐ์ด
- ํจ์
- Today
- Total
bom's happy life
[JS] ๋์ ์ผ๋ก ์์ฑํ <option>ํ๊ทธ์ value ๊ฐ์ ธ์ค๊ธฐ ๋ณธ๋ฌธ
[JS] ๋์ ์ผ๋ก ์์ฑํ <option>ํ๊ทธ์ value ๊ฐ์ ธ์ค๊ธฐ
bompeach 2023. 6. 7. 14:53๋์ ์ผ๋ก ์์ฑํ option ํ๊ทธ์ value ๋ฅผ ๊ฐ์ ธ์์ ์ต์ ๋ณ๊ฒฝํ๋ ค๋ ์ฝ๋๋ฅผ ์ง๋ณด์๋ค.
๋์ ์ผ๋ก ์์ฑํ <select><option> ํ๊ทธ :
--์ค๋ต--
rentList += '<td>';
rentList += '<select class="rentOption" name="rentOption" id="rentOption" onchange="optionChange(this)">';
rentList += '<option value="1"' + (rentTime === '1' ? 'selected' : '') + '>1ํ์(10:00~12:00)</option>';
rentList += '<option value="2"' + (rentTime === '2' ? 'selected' : '') + '>2ํ์(13:00~15:00)</option>';
rentList += '<option value="3"' + (rentTime === '3' ? 'selected' : '') + '>3ํ์(15:00~17:00)</option>';
rentList += '</select>';
rentList += '</td>';
--์ค๋ต--
์ฐธ๊ณ ) onchange="optionChange(this)" ์ `this` ํค์๋๋?
optionChange ํจ์๋ HTML ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ก ์ฌ์ฉ๋๊ณ ์๋ค. ์ด๋ฒคํธ ํธ๋ค๋ฌ ํจ์๋ ์ผ๋ฐ์ ์ผ๋ก ํด๋น ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ์์๋ฅผ ๊ฐ๋ฆฌํค๋ `this` ํค์๋๋ฅผ ํตํด ํด๋น ์์์ ์ ๊ทผํ ์ ์๋ค. `<select>` ์์์์ onchange="optionChange(this)"์ ๊ฐ์ด ์ด๋ฒคํธ ํธ๋ค๋ฌ๋ฅผ ๋ฑ๋กํ ๊ฒฝ์ฐ, this๋ ํ์ฌ ์ ํํ <select> ์์๋ฅผ ๊ฐ๋ฆฌํค๊ฒ ๋๋ค. ์ด๋ ๊ฒ this๋ฅผ ์ด์ฉํด์ ์ ํํ ์์์ ์ ๊ทผํ ์ ์์ผ๋ฏ๋ก, optionChange ํจ์์ ๋งค๊ฐ๋ณ์ ์ด๋ฆ์ ์์ ๋กญ๊ฒ ์ง์ ์ ์๋ค. ๋งค๊ฐ๋ณ์ ์ด๋ฆ์ `this` ๋ก ์ง์ด๋ ๋๊ณ , ๋ช ํํ ์๋ฏธ๋ฅผ ์ฃผ๊ธฐ ์ํด์ `select` ์ ๊ฐ์ ์๋ฏธ์ ๋ช ์นญ์ ์ฌ์ฉํด๋ ์ข๋ค.
์ฒ์์ error๊ฐ ๋ฌ๋ ๋ฌธ์ ์ ์ฝ๋ :
//์ต์
๋ณ๊ฒฝํ๊ธฐ
function optionChange(optionValue) {
if(optionValue === '1') {
alert('1ํ์์ผ๋ก ๋ณ๊ฒฝํ์๊ฒ ์ต๋๊น?');
//๊ธฐ๋ฅ์ถ๊ฐ
} else if (optionValue === '2') {
alert('2ํ์์ผ๋ก ๋ณ๊ฒฝํ์๊ฒ ์ต๋๊น?');
//๊ธฐ๋ฅ์ถ๊ฐ
} else if(optionValue === '3') {
alert('3ํ์์ผ๋ก ๋ณ๊ฒฝํ์๊ฒ ์ต๋๊น?');
//๊ธฐ๋ฅ์ถ๊ฐ
} else {
alert("error");
}
}
์๋ฌ๊ฐ ๋๋ ์ด์ ?
`optionChange` ํจ์ ๋ด๋ถ์์ optionValue ๋ฅผ ๋น๊ตํ ๋ ๋ฐ์ํ ์๋ฌ์๋ค. optionValue ๋ DOM ์์์ธ <select> ์๋ฆฌ๋จผํธ ์์ฒด์ด๋ฏ๋ก, `===` ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์์ด๊ณผ ๋น๊ตํ๋ ๊ฒ์ด ๋ถ์ ์ ํ๋ ๊ฒ!
optionvalue ๋ <select> ์์์ ์ ํ๋ ์ต์ ์ ๊ฐ์ ๋ํ๋ด๊ธฐ ๋๋ฌธ์, optionValue.value ๋ฅผ ์ฌ์ฉํด์ ์ ํ๋ ์ต์ ์ ๊ฐ์ ๊ฐ์ ธ์ ๋น๊ตํด์ผํ๋ค.
.
.
์์ ํ ์ฝ๋ :
//์ต์
๋ณ๊ฒฝํ๊ธฐ
function optionChange(selectElement) {
var optionValue = selectElement.value;
if(optionValue === '1') {
alert('1ํ์์ผ๋ก ๋ณ๊ฒฝํ์๊ฒ ์ต๋๊น?');
//๊ธฐ๋ฅ์ถ๊ฐ
} else if (optionValue === '2') {
alert('2ํ์์ผ๋ก ๋ณ๊ฒฝํ์๊ฒ ์ต๋๊น?');
//๊ธฐ๋ฅ์ถ๊ฐ
} else if(optionValue === '3') {
alert('3ํ์์ผ๋ก ๋ณ๊ฒฝํ์๊ฒ ์ต๋๊น?');
//๊ธฐ๋ฅ์ถ๊ฐ
} else {
alert("error");
}
}
selectElement ๋ onchange ์ด๋ฒคํธ ํธ๋ค๋ฌ ํจ์(`optionChange`) ์ ๋งค๊ฐ๋ณ์๋ก ์ ๋ฌ๋๋ ๊ฐ์ด๋ค. ์ด ๋งค๊ฐ๋ณ์๋ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ DOM์์, ์ฆ <select> ์๋ฆฌ๋จผํธ ์์ฒด๋ฅผ ๋ํ๋ธ๋ค.
HTML์์ <select> ์์์ onchange="optionChange(this)" ๋ผ๊ณ ์ค์ ํ๋ฉด, `this` ํค์๋๋ ํด๋น <select> ์์๋ฅผ ์ฐธ์กฐํ๋ค. ๋ฐ๋ผ์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ์ ๋, optionChange ํจ์๊ฐ ํธ์ถ๋๋ฉด์ this ๋ฅผ ์ธ์๋ก ๋ฐ๊ฒ ๋๊ณ , ์ด ๊ฐ์ selectElement ๋งค๊ฐ๋ณ์๋ก ์ฌ์ฉํ ์ ์๋ค.
์ฆ, selectElement ๋ <select> ์์๋ฅผ ๊ฐ๋ฆฌํค๋ ์๋ฐ์คํฌ๋ฆฝํธ ๊ฐ์ฒด๋ก์, ํด๋น ๊ฐ์ฒด์ ์์ฑ ์ค value ์์ฑ์ ์ฌ์ฉํ์ฌ ์ ํ๋ ์ต์ ์ ๊ฐ์ ๊ฐ์ ธ์ฌ ์ ์๋ค.
์ฐธ๊ณ ๋ก! `optionChange` ํจ์์ ๋งค๊ฐ๋ณ์ ์ด๋ฆ์ ์์ ๋กญ๊ฒ ์ง์ด๋ ๋๋ค. `this` ํค์๋๋ฅผ ์ฌ์ฉํด์ ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ <select> ์์๋ฅผ ์ฐธ์กฐํ๊ณ , ํด๋น ๋งค๊ฐ๋ณ์ ์ด๋ฆ์ผ๋ก ์ฌ์ฉํ๋ฉด ๋๋ค. ์๋ฅผ ๋ค์ด optionChange ํจ์์ ๋งค๊ฐ๋ณ์ ์ด๋ฆ์ selectElement ๋์ ์ select ๋ผ๊ณ ์ง์ ์๋ ์๋ค. ๊ทธ๋ ๊ฒ ๋๋ฉด select.value ๊ฐ ๋๊ฒ ์ง?
'Deveolpment Study๐๏ธ > Javascript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ์ ๋์ํญ๋ชฉ ์ฒดํฌ์ submit( )๋๊ฒ ํ๊ธฐ (0) | 2023.07.01 |
---|---|
[JS] ๋ง ๋์ด ๊ณ์ฐํ๊ธฐ (0) | 2023.06.21 |
[JS] <option>ํ๊ทธ์๋ <a>ํ๊ทธ๋ฅผ ์ฌ์ฉํ ์ ์์ ๋ ?_`onchange` (0) | 2023.06.07 |
[JS] className ์์ฑ / getElementsByClassName๋ฉ์๋ (0) | 2023.06.03 |
[JS] ์ญ์ ํ๊ธฐ ์ด๋ฒคํธ - ์ต์ ํ๋์ ํ์ ๋จ๊ฒจ๋๊ธฐ! (0) | 2023.06.02 |