0
我开始开发网站(从0学习)。当然,我为我的健康无知道歉(和我的英语水平)。 我有3个选择降序:第一个包含从数据库加载的选项列表(现在,我只从HTML加载)。根据所选的选项,第二选择将加载其选项,等等,直到第三选择。问题本身已解决,但是当您想要选择已在第二选择中加载的选项时,请勿“点击”它们。只允许您选择第一个选项。在这里,我留下的代码,看看是否有人可以找到任何可能的解决方案(和很多错误^^)。选择列表不改变选定的项目DHTML
var carsAndModels = {};
carsAndModels['Volvo'] = ['V70', 'XC60'];
carsAndModels['Volkswagen'] = ['Golf', 'Polo'];
carsAndModels['BMW'] = ['M6', 'X5'];
var speedsAndModels = {};
speedsAndModels['V70'] = ['150km/h', '180km/h'];
speedsAndModels['XC60'] = ['160km/h', '190km/h'];
speedsAndModels['Golf'] = ['170km/h', '190km/h'];
speedsAndModels['Polo'] = ['180km/h', '200km/h'];
speedsAndModels['M6'] = ['190km/h', '2000km/h'];
speedsAndModels['X5'] = ['200km/h', '210km/h'];
function ChangeCarList() {
var carList = document.getElementById('car');
var modelList = document.getElementById('carmodel');
var speedList = document.getElementById('speed');
var selCar = carList.options[carList.selectedIndex].value;
while (modelList.options.length) {
modelList.remove(0);
speedList.remove(0);
}
var cars = carsAndModels[selCar];
if (cars) {
for (i = 0; i < cars.length; i++) {
var car = new Option(cars[i], i+1);
modelList.options.add(car);
}
}
ChangeModelList();
}
function ChangeModelList() {
var modelListM = document.getElementById('carmodel');
var speedListM = document.getElementById('speed');
var indMod = modelListM.selectedIndex;
var selMod = modelListM.options[indMod].text;
while (speedListM.options.length) {
speedListM.remove(0);
}
var speeds = speedsAndModels[selMod];
if (speeds) {
for (i = 0; i < speeds.length; i++) {
var speed = new Option(speeds[i], i+1);
speedListM.options.add(speed);
}
}
}
<div class="">
<div class="">
\t <span>Select the brand</span><hr>
\t \t <select id="car" onchange="ChangeCarList()">
\t \t <option value="">-- Select --</option>
\t \t \t <option value="Volvo">Volvo</option>
\t \t \t <option value="Volkswagen">Volkswagen</option>
\t \t \t <option value="BMW">BMW</option>
\t \t </select>
\t </div>
\t <div class="">
\t \t <span>Select the model</span><hr>
\t \t <select id="carmodel" onchange="ChangeCarList()"></select>
\t </div>
\t <div class="">
\t \t <span>Select the speed control</span><hr>
\t \t <select id="speed"></select>
\t </div>
</div>
问题:如何通过调用标准W3Schools的功能( “ChangeCarList” & “ChangeModelList”)在外部文件? 非常感谢:)。
仅供参考,不使用W3Schools的作为初学者的学习工具。它更像是一个信息百科全书,而不是一个顺序教程。他们解释每一点语法,但不要告诉你什么是你想要完成的特定事情的最佳实践。这里有更好的资源,例如StackOverflow上的文档选项卡 –
难道你不想从第二个select的onchange事件中调用ChangeModelList而不是ChangeCarList? – James