c语言sscanf函数的用法是什么
259
2022-08-31
省份地区三级联动详细讲解
大家很好奇就是option里面的value值为什么是-1。因为option是下拉列表里面的选择项,里面的value就是对应地区数组下标,数组下标是从0开始,我们从-1开始,就可以避免将其锁定为某个地区。 接下来我们要制作的就是利用数组保留地区数据。
编写数组的时候还搜了搜区,大家一看我这就知道我(这娃,地理是真不行,哈哈哈)。 在前面我们利用shengArr这个一维数组,保存了省的数据。后面的市和区我们利用shiArr二维数组保存了省区对应下的市,同理quArr就用到了三维数组。我们举个例子。比如陕西shengArr【1】保存的是陕西省下面所有的城市。接下来我们要做的就是让它自动创建省份下拉菜单:
function createOption(obj,data){ for(var i in data){ var op=new Option(data[i],i); // 创建下拉菜单中的option obj.options.add(op); // 将获取到的选项添加到下拉菜单中 } } var sheng=document.getElementById('sheng'); // 获取省份元素 createOption(sheng,shengArr);
我们用createoption()函数创建指定的下拉菜单选项。参数obj用于表示下拉列表菜单的元素对象,参数data用于表示一维数组保存的下拉列表选项。我们的new用于实例化option对象创建
接下来我们要实现城市的自动选项。当我们选择完省份,自动出现城市区域。
我们看了之后还是不能实现三级联动,只有我们选择了省会触发事件,可以直接出现城市,但是城市内的区还是没有显示,我们先遍历一下数组,给城市添加事件再试一下。
var qu=document.getElementById('qu'); // 通过id获取城市下的区域 shi.onchange=function(){ // 添加事件 qu.options.length=0; // clear区域原有的option createOption(qu,quArr[sheng.value][shi.value]); };
这样的话,我们选择省份触发事件出现城市,但是我们不改变城市他是不会出现城市下的区域,我们怎么办呢? 所以我们上面的代码还是有一些错误,我们需要改一改。我们修改一下省份的事件给他来一个判断。
if(sheng.value>=0){ shi.onchange(); // 自动添加城市对应下的区域 }else{ qu.options.length=0; // clear区域下原有的option
接下来我们利用css给他简单美化一下就可以了。总结:今天制作省份地区的三级联动,主要掌握html里面的下拉列表select和列表项option。还需要掌握一维数组,二维数组,还有遍历数组,获取id,实例化对象,添加change事件,clear(清除)option等。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~