Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.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下拉菜单_Javascript - Fatal编程技术网

JavaScript下拉菜单

JavaScript下拉菜单,javascript,Javascript,我想创建三个下拉菜单。。。。。这就是他们的样子。大陆将是第一个下拉菜单,第二个是国家,因此如果从第一个菜单中选择非洲,第二个菜单将只有非洲国家。当你点击第二个,那就是选择一个国家。。。比如说苏丹,那么第三次撤军将在苏丹设立州/省 我该怎么做?我想要简单而基本的东西 我将把它存储在JavaScript数据类型中。。。{“北美”:[美国、加拿大],“非洲”:[“肯尼亚”、“东西亚”、“摩洛哥”]}我建议使用jQuery库使数据绑定非常简单。假设您已经像您在问题中所说的那样定义了数据类型,那么您可以拥

我想创建三个下拉菜单。。。。。这就是他们的样子。大陆将是第一个下拉菜单,第二个是国家,因此如果从第一个菜单中选择非洲,第二个菜单将只有非洲国家。当你点击第二个,那就是选择一个国家。。。比如说苏丹,那么第三次撤军将在苏丹设立州/省

我该怎么做?我想要简单而基本的东西


我将把它存储在JavaScript数据类型中。。。{“北美”:[美国、加拿大],“非洲”:[“肯尼亚”、“东西亚”、“摩洛哥”]}

我建议使用jQuery库使数据绑定非常简单。假设您已经像您在问题中所说的那样定义了数据类型,那么您可以拥有包含所有信息的json对象。也就是说,你有{大陆:[国家:[州/省],…],…]),那么你需要为第一个选择器做的就是通过获取对象的键来显示大陆。然后你将用值定义的键(另一个json字符串)填充第二个下拉列表下一步,根据国家/地区子字符串创建另一个JSON对象,并根据第二个下拉列表的选择再次按键搜索。最后,您将使用位于国家/地区键的值填充第三个下拉列表

基本上,您拥有的是一个2层JSON对象,级别1包含大陆作为键,值为级别2,其中包含国家作为键,州/省作为值


如果你知道所有的数据,没有理由创建一个数据对象来保存数据,一个JSON字符串就足够了。

下面是我想要的。我刚刚找到了。谢谢James Khoury

            <form id="someform" >
            <select id="sample"  onChange="myfunction(this)"> 
            <option value="1">Option 1</option>
            <option value="2">Option 2</option>
            <option value="3">Option 3</option>
            </select>
            </form>
            <form id="someform" >
            <select id="samp" > 
            <option value="1">Fire Power</option>
            </select>
            </form>
            <script type="text/javascript">
            function myfunction(myObj) {
            var myselect=document.getElementById("samp")
            try{
            myselect.add(new Option("New Last Option", "0"), null) //a
            "sample"
             myselect.add(new Option("New First Option", "1"), myselect.options[0]) 
             }
             catch(e){ //in IE, try the below version instead of add()
             myselect.add(new Option("New Last Option", "0")) 
             myselect.add(new Option("New First Option", "1"), 0) 
             }
             }
             </script>

选择1
选择2
选择3
火力
函数myfunction(myObj){
var myselect=document.getElementById(“samp”)
试一试{
add(新选项(“新的最后一个选项”,“0”),null)//a
“样本”
添加(新选项(“新第一选项”,“1”),myselect.options[0])
}
catch(e){//在IE中,尝试以下版本而不是add()
添加(新选项(“新的最后一个选项”,“0”))
添加(新选项(“新第一选项”,“1”),0)
}
}

@user618677 Andrew建议,如果你在别人帮助过你的地方纠正一些老问题,你会获得更多的兴趣。此外,
{“north Amrerica”:…
是一个javascript文本对象,而不是数据类型。我还建议你自己尝试一下,并发布你已经尝试过的代码。