`

jquery操作select的联动插件FillOptions&CascadingSelect

阅读更多
详细介绍看这里
http://blog.csdn.net/lee576/archive/2008/11/24/3362512.aspx

html中的2个普通select
 <select id="province"></select>
  <select id="city"></select>


先倒入2个插件:
<script language="javascript" type="text/javascript" src="js/jQuery.FillOptions.js"></script>
<script language="javascript" type="text/javascript" src="js/jQuery.CascadingSelect.js"></script>

 $("#province").FillOptions(
     		"flexGridServlet.do?action=getProvince",
     		{
      		datatype:"json",
      		textfield:"province",
      		valuefiled:"provinceID",
      		//selectedindex:0,//填充并选中第1项
      		keepold:true//填充并且保留原有项
     		}
);
$("#province").AddOption("请选择省份:","-1",true,0);//最上端插入一个文本为“请选择省份“,值为”-1“的列表项,并且是选中状态
$("#city").AddOption("请选择城市:","-1",true,0);
$("#province").CascadingSelect(
           $("#city"),//需要联动的下拉列表框,必须
           "flexGridServlet.do?action=getCity",
           {datatype:"json",textfield:"city",valuefiled:"cityID",parameter:"p"},//通过设置parameter:”p”这个参数会生成一个"handler1.ashx?p=xxx”这样的地址来做ajax请求
           function(){//完成联动后执行
           		//log.info("测试");
           }
);

java代码处理2个请求
if("getProvince".equals(action)){
			System.out.println("--------------------getProvince--------------------");
//			String json="[{'provinceID':'110000','province':'北京市'}," +
//					"{'provinceID':'120000','province':'天津市'}," +
//					"{'provinceID':'310000','province':'上海市'}" +
//					"]";
			String path=this.getServletContext().getRealPath("/")+"province.txt";//这个文件中的内容就是上面注释掉的json
			BufferedReader br=new BufferedReader(new InputStreamReader(new FileInputStream(path),"UTF-8"));   
            StringBuffer sb=new StringBuffer();   
            String s;
            while((s=br.readLine())!=null){ 
            	sb.append(s);
            }
            br.close();
            String json=sb.toString();
            System.out.println("json="+json);
            /*xml测试
            String xml="<DocumentElement>" +
            		"<table><provinceID>110000</provinceID><province>北京市</province></table>" +
            		"<table><provinceID>120000</provinceID><province>天津市</province></table>" +
            		"<table><provinceID>310000</provinceID><province>上海市</province></table>" +
            		"</DocumentElement>";
            response.getWriter().write(xml);
            */
            /*非文件测试
            JSONArray array=new JSONArray();
			try {
				for(int i=0;i<5;i++){
					JSONObject object = new JSONObject();
					object.append("provinceID", "11000"+i);
					object.append("province", "北京市"+i);
					array.put(object);
				}
			} catch (JSONException e) {
				e.printStackTrace();
			}
			System.out.println("object="+array.toString());
			response.getWriter().write(array.toString());
			*/
			response.getWriter().write(json);
			response.getWriter().flush();
			response.getWriter().close();
			return;
		}
		if("getCity".equals(action)){
			System.out.println("--------------------getCity--------------------");
			String json="";
			String provinceID=request.getParameter("p");
			System.out.println("provinceID="+provinceID);
			if(provinceID.equals("110000")){
				json="[{'cityID':'1','city':'北京'}]";
			}else if(provinceID.equals("120000")){
				json="[{'cityID':'2','city':'天津'}]";
			}
			else if(provinceID.equals("310000")){
				json="[{'cityID':'3','city':'上海'}]";
			}else if(provinceID.equals("130000")){
				json="[{'cityID':'4','city':'石家庄'}," +
					"{'cityID':'5','city':'石家庄2'}"+
					"]";
			}else{
				json="[]";
			}
			System.out.println("object="+json);
			response.getWriter().write(json);
			response.getWriter().flush();
			response.getWriter().close();
			return;
		}


添加一个列表项的插件AddOption(已整合进FillOptions),这个比较简单,用来向下拉列表框中添加一个列表项。

定义如下:

         AddOption (text,value,selected,index)

参数说明:

         text:文本型,列表项文本

         value:文本型,列表项值

         selected:布尔型,是否选择加入的列表项

         index:数值型,加入位置



实例如下:

    $("#select2").AddOption("请选择城市","-1",true,0);

实例说明:

向select2最上端插入一个文本为“请选择城市”,值为”-1“的列表项,并且是选中状态

/////////////////////////////
在FillOptions()下增加
/*解决ie浏览器的刷新 selected的不起作用
http://support.microsoft.com/kb/185123/zh-cn */
if($.browser.msie &&
selected) {
$('option[value='+selected+']',this).attr('selected',true);
}
分享到:
评论

相关推荐

    jQuery五级联动插件

    **jQuery五级联动插件详解** 在Web开发中,我们经常需要实现地区选择功能,例如省市区县到街道的五级联动。这种功能能够帮助用户精确地定位他们的位置,尤其适用于电子商务、物流配送等场景。然而,对于大型的省...

    jquery cxselect联动插件select多级联动下拉菜单

    jquery cxselect联动插件select多级联动下拉菜单 jquery cxselect联动插件select多级联动下拉菜单 jquery cxselect联动插件select多级联动下拉菜单 jquery cxselect联动插件select多级联动下拉菜单

    jQuery模拟select下拉框插件.zip

    1. **单选与多选**:传统的`&lt;select&gt;`元素通常只支持单选,而这个插件允许用户同时选择多个选项,这对于需要用户进行多选操作的场景非常有用。 2. **自定义样式**:利用CSS,开发者可以自由定制下拉框的外观,包括...

    FillOptions CascadingSelect

    在实现FillOptions CascadingSelect时,常常会用到各种前端框架或插件,如jQuery的插件。"select插件"可能是指专门用来增强原生HTML `&lt;select&gt;` 元素功能的工具,它们通常提供更丰富的样式、交互和功能,比如...

    jquery 超级select插件 v4.0版本

    《jQuery超级Select插件v4.0版本详解》 在Web开发中,下拉选择框(Select)是最常见的表单元素之一,但在某些场景下,普通的Select可能无法满足复杂的交互需求,例如多选、搜索过滤、自定义样式等。这时,jQuery...

    [转]Jquery操作select 收藏

    文件"jQuery-Select-bynet.htm"可能就是一个示例代码或插件的文档,它可能包含了更高级的select操作示例,如模拟多级联动下拉菜单或者自定义的下拉列表样式。 总的来说,掌握jQuery操作select的方法对于前端开发来...

    jQuery移动端省市二级联动选择插件.zip

    此插件基于jQuery,利用其强大的DOM操作和事件处理能力,实现了省市联动效果。当用户在省的选择项中做出选择时,插件会动态加载并更新市的选择项,这种实时同步的行为是通过监听省选择器的改变事件来实现的。这展示...

    Jquery各种插件和JQuery Ajax三级联动地区下拉框 & 非Ajax实现三级联动

    标题 "Jquery各种插件和JQuery Ajax三级联动地区下拉框 & 非Ajax实现三级联动" 提供了我们讨论的关键技术点:jQuery、jQuery插件、Ajax以及三级联动地区下拉框的实现。这篇博客(博文链接:...

    select2(jquery)插件下载

    **jQuery Select2插件详解** Select2是一款基于jQuery的增强型下拉选择框插件,它极大地改进了原生HTML `&lt;select&gt;` 元素的用户体验和功能。标题中的"select2(jquery)插件下载"指的是这个插件的获取途径,通常通过...

    jquery省市区三级联动插件(数据全)

    这个“jquery省市区三级联动插件”是为了解决一个常见的前端开发需求——实现省市区选择的联动效果。这种功能常见于用户注册、地址填写等场景,能够提供用户友好的交互体验。 首先,我们要理解什么是“三级联动”。...

    jQuery下拉查询筛选插件Combo Select

    **jQuery下拉查询筛选插件Combo Select** 在Web开发中,为了提高用户体验,经常会使用到下拉选择框,特别是当选项列表很长时。jQuery库提供了一种强大的方式来增强原生HTML元素的功能,其中就包括了`Combo Select`...

    jQuery.Select.插件

    本文将详细介绍jQuery的Select插件,该插件能够帮助我们创建具有高级特性和良好兼容性的下拉选择框。 **1. jQuery Select插件简介** jQuery.Select是一款专为`&lt;select&gt;`元素设计的插件,它提供了丰富的自定义选项...

    jquery 封装select实现select自定义样式插件jquery.easydropdown.min.js

    《jQuery封装Select实现自定义样式插件:jquery.easydropdown.min.js》 在Web开发中,Select元素是常用的数据选择控件,但其默认样式通常较为单一,无法满足设计师们对界面美观度的需求。jQuery库为我们提供了丰富...

    使用JQuery封装的Select&Checkbox&Radio脚本-维豪信息技术有限公司内部

    本文将深入探讨如何使用jQuery封装Select、Checkbox和Radio元素,以提高前端开发效率并确保跨浏览器兼容性。 一、jQuery封装Select 在HTML中,`&lt;select&gt;`元素用于创建下拉菜单。在jQuery中,我们可以方便地操作...

    JQuery插件select2

    总之,jQuery插件Select2是前端开发中不可或缺的工具之一,它极大地提高了用户选择交互的质量,使得原本单调的`&lt;select&gt;`元素焕发新生。通过学习和掌握Select2的使用,开发者可以为用户提供更加高效、美观的界面。

    jquery四级联动插件城市选择下拉菜单代码

    "jquery四级联动插件城市选择下拉菜单代码"是一个典型的前端开发应用场景,主要用于实现多级联动效果,常见于地址选择或者分类筛选等场景。在这个场景中,用户在一级城市选择后,二级城市会相应更新;选择二级城市后...

    jquery实现select互斥联动

    在本示例中,我们将探讨如何使用jQuery实现“select”元素的互斥联动效果,这是一种常见的表单控件交互设计,常用于多级筛选或配置场景。 一、基本概念 1. jQuery:jQuery 是一个高效、简洁而易用的JavaScript库,...

    jQuery多级联动插件 tntreebox插件支持多级联动

    tntreebox插件通过JavaScript和jQuery库来动态构建和操作DOM元素,实现了父级选择后子级联动更新的效果。它通常通过JSON或HTML数据源来加载层级数据,并且可以自定义样式和行为,以适应不同项目的需要。 2. **主要...

    jQuery下拉列表select美化插件jQselectable

    jQuery下拉列表select美化插件jQselectable jQuery下拉列表select美化插件jQselectable jQuery下拉列表select美化插件jQselectable jQuery下拉列表select美化插件jQselectable

Global site tag (gtag.js) - Google Analytics