`
simpledev
  • 浏览: 196192 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JS动态添加select下拉框(城市区域多级下拉框demo)

    博客分类:
  • js
 
阅读更多

动态获取select中的options数量:

        Var size = document.getElementById("ddlResourceType").options.length;

动态删除select中的所有options
       document.getElementById("ddlResourceType").options.length=0;

动态删除select中的某一项option
       document.getElementById("ddlResourceType").options.remove(indx); 

动态添加select中的项option:
document.getElementById("ddlResourceType").options.add(new Option(text,value));

上面在IEFireFox都能测试成功,希望以后你可以用上。

 

其实用标准的DOM操作也可以,就是document.createElementappendChildremoveChild之类的。

取值方面
    function getvalue(obj)
    {
        var m=obj.options[obj.selectedIndex].value
        alert(m);//
获取value
        var n=obj.options[obj.selectedIndex].text
        alert(n);//
获取文本
    }

==============================================================================
1
检测是否有选中
if (objSelect.selectedIndex > - 1 ) {
//
说明选中
} else {
//
说明没有选中
}

option设为选中:document.getElementById("province").options.selected = true;

2 删除被选中的项
objSelect.options[objSelect.selectedIndex] = null ;

3 增加项
objSelect.options[objSelect.length] = new Option( "
你好 " , " hello " );

4 修改所选择中的项
objSelect.options[objSelect.selectedIndex] = new Option( "
你好 " , " hello " );

5 得到所选择项的文本
objSelect.options[objSelect.selectedIndex].text;

6 得到所选择项的值

objSelect.options[objSelect.selectedIndex].value;

7.所选择项设置为选中

objSelect.options[objSelect.selectedIndex].selected = true;

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>城市区域4级下拉框</title>
<script>
	function f1(v){
		//alert(v);
		//清除后面的项
		document.getElementById("object2").options.length=0
		document.getElementById("object3").options.length=0
		document.getElementById("object2").style.display="none";
		document.getElementById("object3").style.display="none";
		
		
		var s  =  document.getElementById("object1");   
		if(v=="北京"){
			var option0  =   new  Option("东城区","a1");
			var option1  =   new  Option("西城区","a2");
			var option2  =   new  Option("朝阳区","a3");
			s.options[0] = option0;
			s.options[1] = option1;
			s.options[2] = option2;
		}else if(v=="上海"){
			var option0  =   new  Option("浦东新区","b1");
			var option1  =   new  Option("闵行区","b2");
			var option2  =   new  Option("徐汇区","b3");
			s.options[0] = option0;
			s.options[1] = option1;
			s.options[2] = option2;
			s.options[2].selected = true;
			
		}else if(v=="广州"){
			var option0  =   new  Option("天河区","c1");
			var option1  =   new  Option("越秀区","c2");
			var option2  =   new  Option("海珠区","c3");
			s.options[0] = option0;
			s.options[1] = option1;
			s.options[2] = option2;
		}
		//显示出来
		document.getElementById("object1").style.display="";
	}
	
	function f2(v){
		//alert(v);
		//清除后面的项
		document.getElementById("object3").options.length=0
		document.getElementById("object3").style.display="none";
		
		var s  =  document.getElementById("object2");   
		if(v=="b1"){
			var option0  =   new  Option("陆家嘴","a1");
			var option1  =   new  Option("东方明珠","a2");
			s.options[0] = option0;
			s.options[1] = option1;
		}else if(v=="b2"){
			var option0  =   new  Option("浦江镇","b1");
			var option1  =   new  Option("梅陇镇","b2");
			s.options[0] = option0;
			s.options[1] = option1;
		}else if(v=="b3"){
			var option0  =   new  Option("田林镇","c1");
			var option1  =   new  Option("徐家汇","c2");
			s.options[0] = option0;
			s.options[1] = option1;
		}
		//显示出来
		document.getElementById("object2").style.display="";
	}
	
	function f3(v){
		//alert(v);
		var s  =  document.getElementById("object3");   
		if(v=="c1"){
			var option0  =   new  Option("田林路","a1");
			var option1  =   new  Option("漕宝路","a2");
			s.options[0] = option0;
			s.options[1] = option1;
		}else if(v=="c2"){
			var option0  =   new  Option("肇嘉浜路","b1");
			var option1  =   new  Option("华山路","b2");
			s.options[0] = option0;
			s.options[1] = option1;
		}
		//显示出来
		document.getElementById("object3").style.display="";
	}
</script>
</head>

<body>
<select name="select1" onChange="f1(this.value);">
<option value="北京">北京</option>
<option value="上海">上海</option>
<option value="广州">广州</option>
</select>
<select id="object1" name="select2" onChange="f2(this.value);" style="display:none ">
</select>
<select id="object2" name="select3" onChange="f3(this.value);" style="display:none ">
</select>
<select id="object3" name="select4" style="display:none ">
</select>
</body>
</html>

 

 

 

分享到:
评论
2 楼 qq672076266 2013-09-18  
qq672076266 写道

终于找到一个好用的了。
其他的都是原版抄去抄去,真服了.............

抄来抄去
1 楼 qq672076266 2013-09-18  

终于找到一个好用的了。
其他的都是原版抄去抄去,真服了.............

相关推荐

    jQuery ajax 多级联动 下拉框 Demo

    ajax 实现 (全国,省,是,区....) N级联 Demo js: &lt;script type="text/javascript"&gt; $(function () { $.fn.CascadeSelect({ url: '/CascadeSelect/CascadeSelect.ashx', //返回Json数据的一般处理文件 idKey: ...

    bootstrap树形下拉框 下拉框树形菜单(花了一小时修改过的)

    在Bootstrap中,树形下拉框主要依赖于`bootstrap-treeview.js`这个JavaScript插件,它扩展了Bootstrap的基础组件,为下拉菜单添加了树状节点的功能。以下是对这个组件的关键知识点的详细解释: 1. **Bootstrap ...

    结合ztree的下拉框树形结构数据多选,单选

    总的来说,"结合ztree的下拉框树形结构数据多选,单选"是一个涉及到前端开发中JavaScript交互设计、数据处理和用户界面优化的重要知识点。通过理解并熟练运用zTree这个工具,开发者能够创建出功能强大且用户体验良好...

    javascript html js 自定义多级联动下拉菜单,自定义select联动

    在JavaScript、HTML和JS的世界里,自定义多级联动下拉菜单是一种常见的交互设计,它通常用于提升用户体验,尤其是在处理复杂的数据层级结构时。本文将深入探讨如何利用这些技术实现自定义的select联动效果。 首先,...

    ASP下拉框多选控件及使用方法

    ASP(Active Server Pages)是一种微软开发的服务器端脚本环境,用于创建动态交互式网页。在ASP中,处理用户输入并展示数据时,下拉框(Dropdown List)是一种常见的控件,尤其在需要用户从预定义选项中选择一个或多...

    二级联动下拉框

    2. **JavaScript逻辑**:使用jQuery监听`select1`的`change`事件,当事件触发时,根据选定的省份值,动态填充`select2`的城市选项。 ```javascript $(document).ready(function() { $('#select1').change(function...

    JS多级联动下拉列表(自定义级数)

    本文将详细介绍如何使用原生JavaScript实现一个可自定义级数的多级联动下拉列表,以及如何根据提供的"demo"文件进行应用。 首先,我们需要了解多级联动的基本原理。在联动下拉列表中,当用户在一个下拉列表中选择一...

    ztree下拉框树

    在IT领域,尤其是在前端开发中,ZTree是一个广泛使用的JavaScript组件,它主要用于构建灵活、可交互的树形数据结构。ZTree不仅可以展示层次化的数据,还可以实现多种交互功能,如节点选择、拖拽、搜索等。在这个场景...

    多级联动demo

    在IT行业中,多级联动是一种常见的前端交互设计,主要用于实现数据层级关系的联动效果,例如在选择省份时自动更新城市选项,选择城市时再自动更新区县选项等。这种功能在许多应用场景中都非常实用,如地址选择、组织...

    LinkageSel Javascript 无限多级联动下拉菜单

    多级联动,支持Ajax动态获取数据并缓存数据,动态生成下级select菜单,设置动态生成"option"第一个条目作为提示项,自动选择唯一选项的菜单,设置回调函数在onChange事件触发时获取下拉菜单相关信息。 详细功能及...

    jquery多级联动下拉插件chained(附DEMO)

    在网页设计中,经常需要实现多级联动下拉菜单的效果,例如省份、城市、区县的选择,这样的功能可以方便用户快速筛选和定位信息。jQuery Chained是一款优秀的插件,专门用于创建这种多级联动效果,它通过简单的配置和...

    三级联动demo

    这可以通过遍历`provinces`数组并创建`&lt;option&gt;`元素添加到"省"的下拉框中来实现。 以上就是一个基本的省市区三级联动的实现过程。在实际应用中,你可能需要考虑更多细节,比如异步加载数据、错误处理、优化用户...

    实现省市联动的demo

    在IT行业中,省市联动是一种常见的前端交互功能,它主要用于用户选择省份时,自动更新下拉框中的城市选项,提供更加便捷的用户输入体验。这里我们关注的焦点是使用Jquery来实现这一功能。Jquery是一个高效、简洁且...

    仿京东商城选择地区样式Demo

    通过JavaScript动态生成或更新这些选项,实现联动效果。 2. **CSS样式**:京东商城的地区选择样式有其独特的设计,包括下拉框的边框、内阴影、字体大小和颜色等。这部分可以通过CSS来实现,使用类如`.select-box`、...

    layuSelectTree.zip

    《layui结合ztree实现树形多级分类下拉框详解》 在Web开发中,我们经常需要实现一种组件,它可以展示层次结构的数据,并且能够作为下拉框供用户选择,这种组件被称为“树形下拉框”。layui是一个轻量级的前端UI框架...

    jQuery三种省市区多级联动演示与下载.zip

    例如,`$(selector).on('change', function() {...})`用于监听下拉框的改变事件,`$.ajax()`用于向服务器发送异步请求获取数据,`$('select').append('&lt;option&gt;...&lt;/option&gt;')`则是向选择框添加新的选项。...

    layui扩展组件之树形下拉多选组件

    &lt;select name="demo1" id="demo1" lay-filter="demo1"&gt; 请选择 &lt;/select&gt; layui.use(['form', 'treeselect'], function(){ var form = layui.form; var treeselect = layui.treeselect; // 初始化组件 ...

    android studio,demo,Spinner下拉菜单多选的实现

    1. **创建布局文件**:在res/layout目录下创建一个新的XML布局文件,如`multi_select_item.xml`,用于定义每个列表项。在这个布局文件中,我们将添加一个Checkbox和一个TextView,分别用于显示可选的选项和状态。 `...

    基于jquery实现的地址选择器

    例如,当用户在省份下拉框中做出选择,会触发一个事件,这个事件会发送一个Ajax请求到服务器,获取所选省份的所有城市信息,并更新市的下拉框。 ### 2. 功能特性 - **联动选择**:各级区域选择之间存在联动关系,...

    js省市县三级联动

    这个功能主要用于用户选择地址时,先选择省份,省份选定后,市(州)的下拉框会自动更新,接着选择城市,最后根据城市加载相应的县(区)。这种联动效果可以提供便捷的用户体验,避免用户手动输入复杂的地址信息。 ...

Global site tag (gtag.js) - Google Analytics