
์๋์ ๋ฐ๋ฅธ ์๊ตฐ๊ตฌ selectbox ๋์ ๊ตฌํ
์๋, ์๊ตฐ๊ตฌ ๋ฐ์ดํฐ๋ฅผ DB์์ ๊ฐ์ ธ์ค๋๊ฒ ์๋๋ผ jsํ์ผ๋ก ๊ฐ์ ธ์ค๋ ๊ฒฝ์ฐ
// sido_sigungu_data.js
// ์๋
const sidoList = ["์์ธ์", "๊ฐ์๋", "์ธ์ฒ", "๊ฒฝ๊ธฐ"];
// ์๊ตฐ๊ตฌ
const sigunguObj = {
"์์ธ์": ["๊ฐ๋จ๊ตฌ", "๊ฐ๋๊ตฌ", "๊ฐ๋ถ๊ตฌ", "๊ฐ์๊ตฌ"],
"๊ฐ์๋": ["์ถ์ฒ์", "์์ฃผ์", "๊ฐ๋ฆ์", "๋ํด์"],
"์ธ์ฒ": ["๊ณ์๊ตฌ", "๋ฏธ์ถํ๊ตฌ", "๋จ๋๊ตฌ", "๋ถํ๊ตฌ"],
"๊ฒฝ๊ธฐ": ["์ฑ๋จ์", "์์์", "์์์", "์ฉ์ธ์"]
};
<!-- HTML ๊ตฌ์กฐ -->
<select id="sido_select">
<option value="">์๋ ์ ํ</option>
</select>
<select id="sigungu_select" disabled>
<option value="">์๊ตฐ๊ตฌ ์ ํ</option>
</select>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="./sido_sigungu_data.js"></script>
<script>
$(document).ready(function() {
const $sido = $('#sido_select');
const $sigungu = $('#sigungu_select');
// ์๋ ์ธํ
sidoList.forEach(sido => {
$sido.append(`<option value="${sido}">${sido}</option>`);
});
// ์ด๋ฒคํธ๊ฐ ๋ฐ์ํ ์๋์ ๋ฐ๋ฅธ ์๊ตฐ๊ตฌ ๋ฐ์ดํฐ ์ธํ
$sido.on('change', function() {
const selectedValue = $(this).val();
// ๊ธฐ์กด ์๊ตฐ๊ตฌ ์ด๊ธฐํ(๋ฐ์ดํฐ ์ค๋ณต ๋ฐฉ์ง)
$sigungu.empty().append('<option value="">์๊ตฐ๊ตฌ ์ ํ</option>');
if (selectedValue) {
// ์ ํ๋ ์๋๋ฅผ ํค๊ฐ์ผ๋กํ๋ ์๊ตฐ๊ตฌ ๋ฐ์ดํฐ ์ธํ
const list = sigunguData[selectedValue];
list.forEach(sigungu => {
$sigungu.append(`<option value="${sigungu}">${sigungu}</option>`);
});
// ๋นํ์ฑํ ํด์ (์ง์
ํ์ฉ)
$sigungu.prop('disabled', false);
} else {
$sigungu.prop('disabled', true);
}
});
});
</script>'IT > development' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [JavaScript] javascript์์ jstl ์ฌ์ฉํ๊ธฐ (0) | 2022.11.24 |
|---|---|
| [jQuery]selectBox change ์ด๋ฒคํธ (0) | 2022.11.24 |
| [Java] Java bit ํ์ธ (0) | 2022.11.24 |
| [jQuery] jQuery ๋ฒํผ ํด๋ฆญ ์ table tr ์จ๊น์ฒ๋ฆฌ (1) | 2022.11.24 |
| [WAS]apache tomcat ์์ฒญ ํ๊ฒ์์ ์ ํจํ์ง ์์ ๋ฌธ์๊ฐ... (0) | 2022.11.24 |
๋๊ธ