联动下拉框 jquery 插件(二)

简介:

 

<select id="Select1"></select>
<select id="Select2"></select>
<select id="Select3"></select>
<select id="Select4"> </select>
 
<script src="Scripts/jquery-1.6.1.min.js" type="text/javascript"></script>
<script src="Scripts/jQuery.CascadingSelect.js" type="text/javascript" charset="gb2312"></script>
 
  $(function() {
    $("#Select1").FillOptions("Ajax/AreaHandler.ashx", {
      textfield: "RegionName",
      valuefiled: "RegionId"
    });
 
    $("#Select1").CascadingSelect($("#Select2"), "Ajax/AreaHandler.ashx", {
      textfield: "ProvinceName",
      valuefiled: "ProvinceId",
      parameter: "r"
    },
    function() {
      $("#Select2, #Select3, #Select4").empty().append('<option>--请选择--</option>').attr('disabled', 'disabled');
    });
    $("#Select2").CascadingSelect($("#Select3"), "Ajax/AreaHandler.ashx", {
      textfield: "CityName",
      valuefiled: "CityId",
      parameter: "p"
    },
    function() {
      $("#Select3,#Select4").empty().append('<option>--请选择--</option>').attr('disabled', 'disabled');
    });
    $("#Select3").CascadingSelect($("#Select4"), "Ajax/AreaHandler.ashx", {
      textfield: "DistrictName",
      valuefiled: "DistrictId",
      parameter: "c"
    });
 
json格式 同上篇
 
 
后台参数:

if (context.Request.Params["p"] != null)
{
    sql = String.Format("SELECT CityId,CityName FROM T_City WHERE ProvinceId= '{0}'", context.Request.Params["p"]);
}
 
插件(jQuery.CascadingSelect.js):
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
( function  ($) {
     $.fn.FillOptions = function  (url, options) {
 
     options = $.extend({
         textfield: 'text' ,
         valuefiled: 'value' ,
         selectedindexid: 0,
         parameter: ''
     }, options || {});
 
     $ this  = $( this );
     if  ($ this .children().length === 0) {
         $ this .append( '<option>--请选择--</option>' ).attr( 'disabled' , 'disabled' );
     }
 
     $ this .empty().attr( 'disabled' , 'disabled' )
     .append( '<option>Loading options</option>' );
 
     $.getJSON(url, function  (response) {
         if  (response.count > 0) {
             $ this .empty().removeAttr( "disabled" );
             $ this .append( '<option>-请选择-</option>' );
             $.each(response.data, function  (i, item) {
                 $ this .append($( "<option></option>" )
                 .attr( "value" , eval( "item."  + options.valuefiled))
                 .text(eval( "item."  + options.textfield)));
             });
         }
         else  {
             $ this .empty().prop( "disabled" , true )
             .append( '<option>No elements found</option>' );
         }
     })
}
 
 
$.fn.CascadingSelect = function  (target, url, options, endfn) {
     if  (target[0].tagName != "SELECT" ) throw  "target must be SELECT" ;
     if  (url.length === 0) throw  "request is required" ;
     if  (options.parameter === undefined) throw  "parameter is required" ;
     $( this ).bind( "change" , function  () {
         var  newurl = "" ;
         urlstr = url.split( "?" );
         newurl = urlstr[0] + "?"  + options.parameter + "="  + $( this ).val();
         target.FillOptions(newurl, options);
         if  ( typeof  endfn == "function" ) { endfn(); }
     })
}
 
$.fn.AddOption = function  (text, value, selected, index) {
     option = new  Option(text, value);
     this [0].options.add(option, index);
     this [0].options[index].selected = selected;
}
 
})(jQuery);



    本文转自曾祥展博客园博客,原文链接:http://www.cnblogs.com/zengxiangzhan/archive/2011/06/04/2072715.html ,如需转载请自行联系原作者

相关文章
|
1天前
jQuery+Slick插件实现游戏人物轮播展示切换源码
jQuery+Slick插件实现游戏人物轮播展示切换源码
21 14
|
22天前
|
JavaScript 前端开发
jQuery和CSS3滑动展开菜单按钮插件
这是一款jQuery和CSS3滑动展开菜单按钮插件。该滑动展开菜单按钮在用户点击主菜单按钮之后,子菜单以滑动的方式依次展开
59 21
|
23天前
|
JavaScript
jquery图片和pdf文件预览插件
EZView.js是一款jquery图片和pdf文件预览插件。EZView.js可以为图片和pdf格式文件生成在线预览效果。支持的文件格式有pdf、jpg、 png、jpeg、gif。
48 16
|
18天前
|
JavaScript
jquery文字动画特效插件animatext
jquery文字动画特效插件animatext
41 9
|
21天前
|
移动开发 JavaScript 前端开发
简单易用的jquery响应式轮播图插件ma5slider
ma5slider是一款简单易用的jquery响应式轮播图插件。该轮播图支持鼠标拖拽,可以通过CSS定制外观,支持无限循环模式,内置水平,垂直和淡入淡出三种轮播图过渡动画效果。
|
23天前
|
JavaScript
简洁实用的jQuery进度条插件
这是一款简洁实用的jQuery进度条插件。该插件使用简单,通过在页面中放置指定的HTML代码,即可生成带动画效果的进度条。
|
22天前
|
JavaScript 容器
jQuery文字跑马灯插件Marquee
jQuery.Marquee是一款jQuery文字跑马灯插件。jQuery.Marquee跑马灯插件可以结合使用CSS3动画,制作文字的上下左右移动效果。
|
19天前
|
JavaScript 容器
jquery和CSS3图片排序过滤搜索插件
Filterizr是一款jquery和CSS3图片排序过滤插件。它可以对一组图片进行排序,按条件过滤和按关键字搜索。并在显示结果时使用指定的CSS3动画过渡效果。
24 2
|
19天前
|
JavaScript
jquery和CSS3响应式轮播图插件jcSlider
jcSlider是一款jquery和CSS3响应式轮播图插件。jcSlider使用CSS3过渡动画,它可以和animate.css完美结合,生成60多种轮播图过渡动画效果。
|
23天前
|
JavaScript
jQuery Lightbox和弹出层插件flashy
Flashy.js是一款响应式jQuery Lightbox和弹出层插件