zoukankan      html  css  js  c++  java
  • JavaWeb的学习--jQuery二

    一、使用JQ完成省市二级联动

    1.需求分析

      

       使用jquery完成省市二级联动

    2.技术分析

    2.1数组的遍历操作

        方式一:

        

    $(function(){
        // 全选/ 全不选
        $("#checkallbox").click(function(){
            var isChecked = this.checked;
            //使用对象访问的方式进行遍历,语法:$().each(function(){})
            $("input[name='hobby']").each(function(){
                this.checked = isChecked;
            });
        });
    });

        方式二:

         

    $.each( [0,1,2], function(i, n){
      alert( "Item #" + i + ": " + n );
    });

    2.2 文档处理操作

    追加内容

        apend:  A.append(B)  将B追加到A的内容的末尾处

        appendTo: A.appendTo(B)  将A加到B内容的末尾处

    3.步骤分析

    第一步:确定事件(change事件),在绑定的函数里面获取用户选择的省份

    第二步:创建二维数组来存储省份和城市

    第三步:遍历二维数组中的省份(与用户选择的省份进行比较)【使用JQ的遍历操作】

    第四步:接着遍历数组中的城市

    第五步:创建一个城市文本节点

    第六步:创建option元素节点

    第七步:将文本节点添加到元素节点中【使用JQ的文档操作方法】

    第八步:获取第二个下拉列表并将option元素节点添加进去

    第九步:清除第二个下拉列表的option内容

    4.代码实现

      

     1 <script>
     2             
     3             $(function() {
     4                 //2. 定义二维数组,存放省份和城市
     5                 var cities = new Array(4);
     6                 cities[0] = new Array("武汉市", "黄石市", "宜昌市", "黄冈市", "荆州市");
     7                 cities[1] = new Array("长沙市", "株洲市", "湘潭市", "岳阳市", "永州市");
     8                 cities[2] = new Array("开封市", "洛阳市", "郑州市", "商丘市", "安阳市");
     9                 cities[3] = new Array("石家庄市", "唐山市", "张家口市", "秦皇岛市", "邢台市");
    10                 cities[4] = new Array("西安市", "咸阳市", "宝鸡市", "榆林市", "汉中市");
    11                 $("#province").change(function() {
    12                     //9. 每次改变前,将第二个列表清空
    13                     //$("#city").empty();                    
    14                     $("#city option").remove();
    15                     
    16                     //1. 确定onchange事件,在函数中获取用户选择的省份
    17                     var val = this.value;
    18 //                    alert(val);
    19                     //3. 遍历列表下的省份
    20                     $(cities).each(function(i) {
    21                         if(i==val) {
    22                             //4. 如果用户选择的省份和遍历的省份相同,遍历省份下的城市
    23                             $.each(cities[i], function(i, m) {
    24                                 //5. 创建城市文本节点
    25                                 var cityNode = document.createTextNode(m);
    26                                 //6. 创建option元素节点
    27                                 var opEle = document.createElement("option")
    28                                 //7. 将城市文本节点添加到option元素节点中
    29                                 $(opEle).append(cityNode);
    30                                 //8. 将option元素节点添加到下一个select列表中
    31                                 $(opEle).appendTo($("#city"));
    32                             });
    33                         }
    34                     });
    35                 });
    36             });
    37         </script>

    二、使用JQ完成下拉列表左右选择

    1.需求分析

    见图片文字部分内容。

      

    2.分析

    第一步:确定事件(鼠标单击事件click)

    第二步:获取左侧下拉列表被选中的option($(“#left option:selected”)) [假设左侧select定义了一个id=left]

    第三步:将获取到的option添加到右侧的下拉列表中去。(append方法的使用)

    3.代码实现

      

     1 <script>
     2             $(function() {
     3                 //选中单击移到右边
     4                 $("#leftSelectOneToRight").click(function() {
     5                     $("#left option:selected").appendTo($("#right"));
     6                 });
     7                 //单击所有的移到右边
     8                 $("#leftSelectAllToRight").click(function() {
     9                     $("#left option").appendTo($("#right"));
    10                 });
    11                 //双击option移到右边
    12                 $("#left option").dblclick(function() {
    13                     $(this).appendTo("#right");
    14                 })
    15                 //选中单击移到左边
    16                 $("#rightSelectOneToLeft").click(function() {
    17                     $("#right option:selected").appendTo($("#left"));
    18                 });
    19                 //单击所有的移到右边
    20                 $("#rightSelectAllToLeft").click(function() {
    21                     $("#right option").appendTo($("#left"));
    22                 });
    23                 //双击option移到右边
    24                 $("#right option").dblclick(function() {
    25                     $(this).appendTo("#left");
    26                 })
    27             });
    28         </script>
  • 相关阅读:
    poj 2584 T-Shirt Gumbo (二分匹配)
    hdu 1757 A Simple Math Problem (乘法矩阵)
    矩阵之矩阵乘法(转载)
    poj 2239 Selecting Courses (二分匹配)
    hdu 3661 Assignments (贪心)
    hdu 1348 Wall (凸包)
    poj 2060 Taxi Cab Scheme (二分匹配)
    hdu 2202 最大三角形 (凸包)
    hdu 1577 WisKey的眼神 (数学几何)
    poj 1719 Shooting Contest (二分匹配)
  • 原文地址:https://www.cnblogs.com/guodong-wang/p/7295874.html
Copyright © 2011-2022 走看看