2009-11-12 3 views
-1

이 솔루션을 어떻게 구현할 수 있습니까? 드롭 다운 목록 값은 동일한 양식의 다른 드롭 다운 목록에 따라 다릅니다. 예 : : 형태는 드롭 다운리스트 (car_name), 드롭 다운리스트 (이 차량 모델), 버튼 (검색) 통지를 포함 1) car_model 값 car_name 값에 의존 2)과 동일한 형태 car_name의 드롭 다운리스트 및 car_model의 드롭 다운리스트php : dropdownlist 값은 같은 양식의 다른 드롭 다운 목록에 따라 다릅니다.

감사합니다 최고 감사합니다.

+0

7 질문, 0. 이 답변들 중 어느 것도 당신을 도왔습니까?! –

답변

0
<form> 
<select id="car_name"> 
    <option value="car1">Car 1</option> 
    <option value="car2">Car 2</option> 
    <option value="car3">Car 3</option> 
</select> 
<select id="car_model"> 
</select> 
</form> 
<script type="text/javascript"> 
// Maps all available car models 
var modelMap = { 
    'car1': [ 
     // Each entry contains the model's ID and text/label. 
     ['car1-1', 'Car 1.1'], 
     ['car1-2', 'Car 1.2'], 
     ['car1-3', 'Car 1.3'] 
    ], 
    'car2': [ 
     ['car2-1', 'Car 2.1'], 
     ['car2-3', 'Car 2.2'] 
    ], 
    'car3': [ 
     ['car3-1', 'Car 3.1'], 
     ['car3-2', 'Car 3.2'], 
     ['car3-3', 'Car 3.3'], 
     ['car3-4', 'Car 3.4'], 
     ['car3-5', 'Car 3.5'] 
    ] 
}; 

// Get the dropdown list elements. 
var nameList = document.getElementById('car_name'); 
var modelList = document.getElementById('car_model'); 

// Function to be called when the car name is changed 
nameList.onchange = function() { 
    // Get the selected car. 
    var selectedName = nameList.options[nameList.options.selectedIndex].value; 
    // Lookup available models in the map. 
    var availModels = modelMap[selectedName] || []; 

    var i, opt; 

    // Set available models in the model dropdown. 
    for (i = 0; i < availModels.length; ++i) { 
     opt = availModels[i]; 
     modelList.options[i] = new Option(opt[0], opt[1]); 
    } 

    // Remove all old options if the new car has fewer models than a previous selection. 
    for (; i < modelList.options.length; ++i) { 
     modelList.options[i] = null; 
    } 
}; 
</script> 
0
자동차 1 자동차 2 차 3

// 지도 가능한 모든 자동차 모델 var에 modelMap = { 'car1': [ // 각 항목은 모델의 ID와 텍스트가 포함되어 있습니다 /상표. [ 'car1-1', 'Car 1.1'], [ 'car1-2', 'Car 1.2'], [ 'car1-3', 'car 1.3'] ], 'car2': [ [ 'car2-1', 'Car 2.1'], [ 'car2-3', 'Car 2.2'] ], 'car3': [ [ 'car3-1', 'Car 3.1'], [ 'car3-2', '자동차 3.2'], [ 'car3-3', 'Car 3.3'], [ 'car3-4', 'Car 3.4'], [ 'car3-5' 'Car 3.5'] ]};

// 드롭 다운 목록 요소를 가져옵니다. var nameList = document.getElementById ('car_name'); var modelList = document.getElementById ('car_model');

// 이름이 변경 될 때 호출되는 함수 nameList.onchange = function() { // 선택한 자동차를 가져옵니다. var selectedName = nameList.options [nameList.options.selectedIndex] .value; //지도에서 사용 가능한 모델을 조회합니다. var availModels = modelMap [selectedName] || [];

var i, opt; 

// Set available models in the model dropdown. 
for (i = 0; i < availModels.length; ++i) { 
    opt = availModels[i]; 
    modelList.options[i] = new Option(opt[0], opt[1]); 
} 

// Remove all old options if the new car has fewer models than a previous selection. 
for (; i < modelList.options.length; ++i) { 
    modelList.options[i] = null; 
} }; </script> 

이 정확하지만, "modelList"길이 속성은 0으로 재설정 할 필요가있다. 이렇게. 자동차 목록에 누락 모델을 제거

for (; i < modelList.options.length; ++i) { 
    modelList.options[i] = null; 
    modelList.length = 0; 
} }; </script> 
0

여기에 올바른 코드 : 허용 답변

<form> 
<select id="car_name"> 
<option value="car1">Car 1</option> 
<option value="car2">Car 2</option> 
<option value="car3">Car 3</option> 
</select> 
<select id="car_model"> 
</select> 
</form> 
<script type="text/javascript"> 
// Maps all available car models 
var modelMap = { 
'car1': [ 
    // Each entry contains the model's ID and text/label. 
    ['car1-1', 'Car 1.1'], 
    ['car1-2', 'Car 1.2'], 
    ['car1-3', 'Car 1.3'] 
], 
'car2': [ 
    ['car2-1', 'Car 2.1'], 
    ['car2-3', 'Car 2.2'] 
], 
'car3': [ 
    ['car3-1', 'Car 3.1'], 
    ['car3-2', 'Car 3.2'], 
    ['car3-3', 'Car 3.3'], 
    ['car3-4', 'Car 3.4'], 
    ['car3-5', 'Car 3.5'] 
] 
}; 

// Get the dropdown list elements. 
var nameList = document.getElementById('car_name'); 
var modelList = document.getElementById('car_model'); 

// Function to be called when the car name is changed 
nameList.onchange = function() { 

// Remove all old options if the new car has fewer models than a previous selection. 
for(i=modelList.options.length-1;i>=0;i--) 
{ 
    modelList.remove(i); 
} 

// Get the selected car. 
var selectedName = nameList.options[nameList.options.selectedIndex].value; 
// Lookup available models in the map. 
var availModels = modelMap[selectedName] || []; 

var i, opt; 

// Set available models in the model dropdown. 
for (i = 0; i < availModels.length; ++i) { 
    opt = availModels[i]; 
    modelList.options[i] = new Option(opt[0], opt[1]); 
} 

}; 
</script> 
관련 문제