JSON 로드 Select 다단 계 연동
JSON 형식
MY: ['http://116.62.170.10:9001/static/json/en-MY.min.json'], //
PH: ['http://116.62.170.10:9001/static/json/en-PH.min.json'], //
ID: ['http://116.62.170.10:9001/static/json/in-ID.min.json'], //
TH: ['http://116.62.170.10:9001/static/json/th-TH.min.json'], //
VN: ['http://116.62.170.10:9001/static/json/vi-VN.min.json'] //
HTML
JavaScript
$(function(){
LoadAjaxJsonSelect()
function LoadAjaxJsonSelect () {
var $temp= $('#temp')
var selectids = ['select1', 'select2', 'select3', 'select4']
for (var i = 0; i < selectids.length; i++) {
var select = document.createElement('select')
select.id = selectids[i]
select.name = selectids[i]
select.className = 'selectpicker'
$temp.parent().append(select)
}
var $select1 = $('#select1')
var $select2 = $('#select2')
var $select3 = $('#select3')
var $select4 = $('#select4')
$select2.hide()
$select3.hide()
$select4.hide()
$.ajax({
url: MY,
type: 'get',
dataType: 'json',
data: {},
success: function (data) {
console.log(data)
var html = ['']
for (var p in data) {
html.push('')
}
// level1
var level1str, level2str, level3str
$select1.empty().append(html.join('')).change(function () {
$temp.val(this.value)
level1str = this.value
$select4.hide()
$select3.hide()
$select2.show()
var html = ['']
// ( json )
if (data[level1str] instanceof Array) {
$.each(data[level1str], function (index, value) {
html.push('')
})
} else {
for (var l2 in data[this.value]) {
html.push('')
}
}
// level2
$select2.empty().append(html.join('')).change(function () {
$temp.val(this.value)
level2str = this.value
$select4.hide()
$select3.show()
var html = ['']
if (data[level1str][level2str] instanceof Array) {
$.each(data[level1str][level2str], function (index, value) {
html.push('')
})
} else {
for (var l3 in data[level1str][level2str]) {
html.push('')
}
}
// level3
$select3.empty().append(html.join('')).change(function () {
$temp.val(this.value)
level3str = this.value
$select4.show()
var html = ['']
if (data[level1str][level2str][level3str] instanceof Array) {
$.each(data[level1str][level2str][level3str], function (index, value) {
html.push('')
})
} else {
for (var l4 in data[level1str][level2str][level3str]) {
html.push('')
}
}
// level4
$select4.empty().append(html.join('')).change(function () {
$temp.val(this.value)
})
if ($select4.get(0).options.length <= 1) {
$select4.hide()
return false
}
})
if ($select3.get(0).options.length <= 1) {
$select3.hide()
return false
}
})
if ($select2.get(0).options.length <= 1) {
$select2.hide()
return false
}
})
}
})
}
})
Preview
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
🕗[프로그래머스] 입양 시각 구하기(2)문제 설명 ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.