Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 具有4个级别相同选择的下拉列表_Javascript_Forms_Select_Dropdown - Fatal编程技术网

Javascript 具有4个级别相同选择的下拉列表

Javascript 具有4个级别相同选择的下拉列表,javascript,forms,select,dropdown,Javascript,Forms,Select,Dropdown,我已经修改了我在网上找到的脚本 它的工作非常好,有下拉选择菜单与4种可能性 这里的问题。如果菜单与这里的墨西哥相同(墨西哥是城市,墨西哥是国家),它将无法正常工作 我怎样才能纠正呢?谢谢你的帮助 var类别=[]; //清单1 类别[“惊吓者”]=“美国”、“欧洲”] //清单2 类别[“美国”]=“美国”、“墨西哥”]; 类别[“欧洲”]=“法国”、“英国”]; //清单3 类别[“美国”]=“纽约州”、“德克萨斯州”];; 类别[“墨西哥”]=“墨西哥”、“瓜达拉哈拉”]; 类别[“法国”

我已经修改了我在网上找到的脚本

它的工作非常好,有下拉选择菜单与4种可能性

这里的问题。如果菜单与这里的墨西哥相同(墨西哥是城市,墨西哥是国家),它将无法正常工作

我怎样才能纠正呢?谢谢你的帮助

var类别=[];
//清单1
类别[“惊吓者”]=“美国”、“欧洲”]
//清单2
类别[“美国”]=“美国”、“墨西哥”];
类别[“欧洲”]=“法国”、“英国”];
//清单3
类别[“美国”]=“纽约州”、“德克萨斯州”];;
类别[“墨西哥”]=“墨西哥”、“瓜达拉哈拉”];
类别[“法国”]=“阿尔萨斯”、“诺曼底”];
类别[“英国”]=“威尔士”、“苏格兰”、“英格兰”];
//清单4
类别[“纽约”]=“曼哈顿”、“布鲁克林”、“哈莱姆”、“皇后区”];
类别[“德克萨斯州”]=[“达拉斯”、“鹰之路”];
类别[“墨西哥”]=“DF”];
类别[“瓜达拉哈”]=“东”、“西”];
类别[“阿尔萨斯”]=“斯特拉斯堡”、“克伦堡”];
类别[“诺曼底”]=[“卡昂”、“圣马洛”、“圣皮埃尔”、“圣让”];
类别[“威尔士”]=“加的夫”、“新港”];
类别[“苏格兰”]=“埃迪姆博格”];
类别[“英格兰”]=“伦敦”、“曼彻斯特”、“埃克塞特”、“多佛”];
变量nLists=4;//集合中的选择列表数
函数fillSelect(currCat,currList){
var step=Number(currList.name.replace(/\D/g,“”);

对于(i=step;i我注意到这段代码中有一些错误

我想说,与其将墨西哥城声明为“墨西哥城”,为什么不将其声明为“墨西哥城”?据我所知,这是墨西哥城的正式承认,您的代码也将承认这一点。因此,我将“墨西哥城”改为“墨西哥城”,它运行得非常好。这也允许您的代码被理解为“墨西哥城”你的目标受众更容易接受od

我注意到的第二个错误是“清单4”中的“瓜达拉哈拉”拼写错误

此外,您还删除了list4 select.remove的getValue并将其更改为this.value。如果您需要获取该值,只需使用JS调用id即可,如果这是您的意图的话

replace()将抛出一个eror,但它仍然可以正常工作,因为如果对上一个下拉列表(列表3)进行了更改,它将继续避免向最终下拉列表(列表4)中添加多个值

下面是正确运行的代码

让我知道这是否有用

var类别=[];
//清单1
类别[“惊吓者”]=“美国”、“欧洲”]
//清单2
类别[“美国”]=“美国”、“墨西哥”];
类别[“欧洲”]=“法国”、“英国”];
//清单3
类别[“美国”]=“纽约州”、“德克萨斯州”];;
类别[“墨西哥”]=“墨西哥城”、“瓜达拉哈拉”];
类别[“法国”]=“阿尔萨斯”、“诺曼底”];
类别[“英国”]=“威尔士”、“苏格兰”、“英格兰”];
//清单4
类别[“纽约”]=“曼哈顿”、“布鲁克林”、“哈莱姆”、“皇后区”];
类别[“德克萨斯州”]=[“达拉斯”、“鹰之路”];
类别[“墨西哥城”]=“DF”];
类别[“瓜达拉哈拉”]=“东”、“西”];
类别[“阿尔萨斯”]=“斯特拉斯堡”、“克伦堡”];
类别[“诺曼底”]=[“卡昂”、“圣马洛”、“圣皮埃尔”、“圣让”];
类别[“威尔士”]=“加的夫”、“新港”];
类别[“苏格兰”]=“埃迪姆博格”];
类别[“英格兰”]=“伦敦”、“曼彻斯特”、“埃克塞特”、“多佛”];
var nLists=4;//集合中选择列表的数量
函数fillSelect(currCat,currList){
var step=Number(currList.name.replace(/\D/g,“”);

对于(i=step;i我注意到这段代码中有一些错误

我想说,与其将墨西哥城声明为“墨西哥城”,为什么不将其声明为“墨西哥城”?据我所知,这是墨西哥城的正式承认,您的代码也将承认这一点。因此,我将“墨西哥城”改为“墨西哥城”,它运行得非常好。这也允许您的代码被理解为“墨西哥城”你的目标受众更容易接受od

我注意到的第二个错误是“清单4”中的“瓜达拉哈拉”拼写错误

此外,您还删除了list4 select.remove的getValue并将其更改为this.value。如果您需要获取该值,只需使用JS调用id即可,如果这是您的意图的话

replace()将抛出一个eror,但它仍然可以正常工作,因为如果对上一个下拉列表(列表3)进行了更改,它将继续避免向最终下拉列表(列表4)中添加多个值

下面是正确运行的代码

让我知道这是否有用

var类别=[];
//清单1
类别[“惊吓者”]=“美国”、“欧洲”]
//清单2
类别[“美国”]=“美国”、“墨西哥”];
类别[“欧洲”]=“法国”、“英国”];
//清单3
类别[“美国”]=“纽约州”、“德克萨斯州”];;
类别[“墨西哥”]=“墨西哥城”、“瓜达拉哈拉”];
类别[“法国”]=“阿尔萨斯”、“诺曼底”];
类别[“英国”]=“威尔士”、“苏格兰”、“英格兰”];
//清单4
类别[“纽约”]=“曼哈顿”、“布鲁克林”、“哈莱姆”、“皇后区”];
类别[“德克萨斯州”]=[“达拉斯”、“鹰之路”];
类别[“墨西哥城”]=“DF”];
类别[“瓜达拉哈拉”]=“东”、“西”];
类别[“阿尔萨斯”]=“斯特拉斯堡”、“克伦堡”];
类别[“诺曼底”]=[“卡昂”、“圣马洛”、“圣皮埃尔”、“圣让”];
类别[“威尔士”]=“加的夫”、“新港”];
类别[“苏格兰”]=“埃迪姆博格”];
类别[“英格兰”]=“伦敦”、“曼彻斯特”、“埃克塞特”、“多佛”];
var nLists=4;//集合中选择列表的数量
函数fillSelect(currCat,currList){
var step=Number(currList.name.replace(/\D/g,“”);

对于(i=step;iI不确定它是否会解决问题,但是
categories
应该肯定是一个而不是一个数组。
var categories={}
我不确定它是否会解决问题,但是
categories
应该肯定是一个而不是一个数组。
var categories={}