一段javascript代码,熟悉语法

来源:互联网 发布:宿迁12345网络问政查询 编辑:程序博客网 时间:2024/05/18 02:30

<script type="text/javascript">

 

 


 $(document).ready(function() {
 
 

function Map() {


    this.elements = new Array();

 


    //获取MAP元素个数


    this.size = function() {


    return this.elements.length;

 

    }


    //判断MAP是否为空

 

    this.isEmpty = function() {

 

        return (this.elements.length < 1);

 

    }

 

 

    //删除MAP所有元素


    this.clear = function() {

 

        this.elements = new Array();


    }

 


    //向MAP中增加元素(key, value)

 

    this.put = function(_key, _value) {


        this.elements.push( {

 

            key : _key,

 


            value : _value

 

        });

 

    }

 

 

    //删除指定KEY的元素,成功返回True,失败返回False

 

    this.remove = function(_key) {

 

        var bln = false;

 

        try {

 

            for (i = 0; i < this.elements.length; i++) {

 


                if (this.elements[i].key == _key) {

 


                    this.elements.splice(i, 1);

 


                    return true;

 


                }

 

            }


        } catch (e) {

 


            bln = false;

 

        }

 


        return bln;

 


    }

 

 


    //获取指定KEY的元素值VALUE,失败返回NULL


    this.get = function(_key) {

 

        try {

 


            for (i = 0; i < this.elements.length; i++) {


                if (this.elements[i].key == _key) {

 


                    return this.elements[i].value;

 

                }

 


            }

 


        } catch (e) {

 

            return null;

 

        }

 

    }

 

 


    //获取指定索引的元素(使用element.key,element.value获取KEY和VALUE),失败返回NULL

 

    this.element = function(_index) {

 

 


        if (_index < 0 || _index >= this.elements.length) {

 

 


            return null;


        }

 

        return this.elements[_index];


    }

 

    //判断MAP中是否含有指定KEY的元素


    this.containsKey = function(_key) {


        var bln = false;

 

        try {

 

            for (i = 0; i < this.elements.length; i++) {


                if (this.elements[i].key == _key) {

 

                    bln = true;

 

                }

 

            }


        } catch (e) {

 

            bln = false;

 

        }

 

        return bln;


    }

 

 

    //判断MAP中是否含有指定VALUE的元素

 

    this.containsValue = function(_value) {

 

        var bln = false;

 

        try {

 

            for (i = 0; i < this.elements.length; i++) {

 

                if (this.elements[i].value == _value) {

 

                    bln = true;

 

                }

 

            }

 


        } catch (e) {

 

            bln = false;


        }


        return bln;


    }

 


    //获取MAP中所有VALUE的数组(ARRAY)

 

    this.values = function() {

 

        var arr = new Array();


        for (i = 0; i < this.elements.length; i++) {

 

            arr.push(this.elements[i].value);

 

        }

 

        return arr;


    }

 


    //获取MAP中所有KEY的数组(ARRAY)

 

    this.keys = function() {

 

        var arr = new Array();


        for (i = 0; i < this.elements.length; i++) {


            arr.push(this.elements[i].key);

 

        }

 

        return arr;

 

    }

 


}
 
 
 
 Array.prototype.remove = function(from, to) { 
    var rest = this.slice((to || from) + 1 || this.length); 
    this.length = from < 0 ? this.length + from : from; 
    return this.push.apply(this, rest); 
}; 
 
 

 
  $(".display_bnt").click(function() {
  var isdisplay = $("#" + this.id).val();
    
  if(isdisplay=="设置展开"){
      $("#" + this.id).val("设置收起");
  }else{
   $("#" + this.id).val("设置展开");
  }
    
    $("#" + this.id + "_Content").toggle();
   
   
    //$("#" + this.id + "_Content").css("display","block");
 
  });
 
 
 
  $.sendPushWindowShow = function () {
  


   $("#messageWindow").jqmShow();
 
  
 }
 
 

  $.change_window_to_html = function () {
  var $messageWindow = $("#messageWindow");
  var $icon = $("#messageWindow .icon");
  var $messageText = $("#messageWindow .messageText");
  var $messageButton = $("#messageWindow .messageButton");
  var messageType;
  var messageText;
  if (arguments.length == 1) {
   messageType = "warn";
   messageText = arguments[0];
  } else {
   messageType = arguments[0];
   messageText = arguments[1];
  }
  if (messageType == "success") {
   $icon.removeClass("warn").removeClass("error").addClass("success");
  } else if (messageType == "error") {
   $icon.removeClass("warn").removeClass("success").addClass("error");
  } else {
   $icon.removeClass("success").removeClass("error").addClass("warn");
  }
  $messageText.html(messageText);
 // $messageWindow.jqmShow();
  $messageButton.focus();
 }
 

 

    function contains(x,y)
     {
      for(var i=0;i<x.length;i++)
         { if(x[i]==y)
    return true; }
       return false;
  }

    function contains2(x,y){
   
       for(var i=0;i<x.length;i++)
       for(var j=i;j<x.length;j++){
      
       if(x.substring(i,j)==y)return true;
      
       }
       return false;
   
    }
   

    function remove2(x,y)
    {
 
       for(var i=0;i<x.length;i++){
       for(var j=i;j<=x.length;j++){
    
       if(x.substring(i,j)==y){
   
       x=x.substring(0,i)+x.substring(j,x.length);
      
       }
       }
       }
       return x;
   
   
    }


    $buttonCitySubmit=$("#buttonCitySubmit");
 
     var unHideCitys="";
    $buttonCitySubmit.click(function(){//城市提交确定

 


   var form=document.getElementById("citySubmitForm");
    var eles=form.elements;
   // var j=0;
    for(var i=0;i<eles.length;i++){
     var type=eles[i].type;
  if(type=="checkbox"){
      if(eles[i].checked){
 //     selectedCitys[j]=eles[i].name;
 //     j++;
      allCitys[k]=eles[i].name;
      k++;
      }
     }
 }
  

 

 


    var m=0;
    var allCitys_unique=Array(1000);
    for(var l=0;l<allCitys_unique.length;l++)
 allCitys_unique[l]="empty";
    var p=0;
    for(var i=0;i<1000;i++)
 {
     if (contains(allCitys_unique,allCitys[i])){}
     else { allCitys_unique[p]=allCitys[i];p++;}
 }

 
    var unHideCitys2="";
   
   
    var i=0;
   
    for (i=0;i<allCitys.length;i++){//传到后台的city
     if(allCitys[i]!="empty"){
     unHideCitys2+=allCitys[i];
     unHideCitys2+=','; 
     }
    }

  
    for (i=0;i<allCitys_unique.length;i++){
     if(allCitys_unique[i]!="empty"){
     if(allCitys_unique[i]!=undefined&&!contains2(unHideCitys,allCitys_unique[i])){
     unHideCitys+=allCitys_unique[i]+',';
     }}
    }
   
 
   
     $.ajax({
             url:pushmarketing.base + "/admin/province!citySubmit.action",
    data: {"province":areaname,"city":unHideCitys2},
    dataType: "json",
    success: function(data) {
     if (data.status == "success") {
    
     } else {
      
     }
     
    }
 });
   
   

    $("#hideCitys").html(unHideCitys);
    });
 
 
 
 var cityMap = new Map();
        cityMap.put("北京", 0);
  cityMap.put("天津", 1);
  cityMap.put("河北省", 2);
  cityMap.put("山西省", 3);
  cityMap.put("内蒙古自治区", 4);
  cityMap.put("辽宁省", 5);
  cityMap.put("吉林省", 6);
  cityMap.put("黑龙江省", 7);
  cityMap.put("上海市", 8);
  cityMap.put("江苏省", 9);
  cityMap.put("浙江省", 10);
  cityMap.put("安徽省", 11);
  cityMap.put("福建省", 12);
  cityMap.put("江西省", 13);
  cityMap.put("山东省", 14);
  cityMap.put("河南省", 15);
  cityMap.put("湖北省", 16);
  cityMap.put("湖南省", 17);
  cityMap.put("广东省", 18);
  cityMap.put("广西壮族自治区", 19);
  cityMap.put("海南省", 20);
  cityMap.put("重庆市", 21);
  cityMap.put("四川省", 22);
  cityMap.put("贵州省", 23);
  cityMap.put("云南省", 24);
  cityMap.put("西藏自治区", 25);
  cityMap.put("陕西省", 26);
  cityMap.put("甘肃省", 27);
  cityMap.put("青海省", 28);
  cityMap.put("宁夏回族自治区", 29);
  cityMap.put("新疆维吾尔自治区", 30);
  cityMap.put("台湾省", 31);
  cityMap.put("香港特别行政区", 32);
  cityMap.put("澳门特别行政区", 33);
   

   var count = Array(34);
   for(var i=0;i<count.length;i++)
   {
   count[i]=0;
   }

   $checkboxProvince=$(".checkboxProvince");
   $checkboxProvince.click(function(){//选省份
  
      var $this = $(this);
   var id = $(this).metadata().id;
   var areaname = $(this).metadata().areaname;
  
           
           if( count[ cityMap.get(areaname)]%2==0)
           {
           if(!contains2(unHideCitys,areaname+"(省)"))
            unHideCitys+=areaname+"(省),";
           }else
            {
             if(contains2(unHideCitys,areaname+"(省)"))
           {
              unHideCitys = remove2(unHideCitys,areaname+"(省),");
            }
            }
           count[ cityMap.get(areaname)]++;
         
              $.ajax({
                   url:pushmarketing.base + "/admin/province!selectAllInProvince.action",
          data: {"provinceId":id,"provinceName":areaname},
          dataType: "json",
          success: function(data) {
          if (data.status == "success") {
   
    
          } else {
      
          }
     
          }
          });
         
          $("#hideCitys").html(unHideCitys);
   });
 
 
 
 
 
 
 
 
 //  var selectedCitys= new Array(100);
 
// for(var l=0;l<selectedCitys.length;l++)
// selectedCitys[l]="empty";
 
  var allCitys=new Array(1000);
 
  for(var l=0;l<allCitys.length;l++)
 allCitys[l]="empty";
 
 
  var k=0;
  var areaname;
  $popuPushmsgWindow=$(".popuPushmsgWindow");
 
 // 单击"展开"
 $popuPushmsgWindow.click( function() {
      var $this = $(this);
   var id = $(this).metadata().id;
   areaname = $(this).metadata().areaname;
 //   for(var l=0;l<selectedCitys.length;l++)
 //            selectedCitys[l]="empty";
   
      $.ajax({
             url:pushmarketing.base + "/admin/province!getProvince.action",
    data: {"id": id,"name":areaname},
    dataType: "json",
    success: function(data) {
     if (data.status == "success") {
    
      $.change_window_to_html("success",data.htmldiv);
        
                      
                      
                        var form=document.getElementById("citySubmitForm");
               var eles=form.elements;
   
                     $CitySubmitForm=$("#citySubmitForm");
                       
  
  
                        $CitySubmitForm.click(function(){//选城市
          var j=0;
          var deleteCitys="";
          for(var i=0;i<eles.length;i++){
           var type=eles[i].type;
           if(type=="checkbox"){
             if( (!eles[i].checked) && contains(allCitys,eles[i].name) ){                 
              for(var j=0;j<allCitys.length;j++)
              {if (allCitys[j]==eles[i].name)
              allCitys.remove(j);
              deleteCitys=eles[i].name;
              }                  
             }
            
              $.ajax({
                   url:pushmarketing.base + "/admin/province!deleteCitys.action",
          data: {"city":deleteCitys},
          dataType: "json",
          success: function(data) {
          if (data.status == "success") {
    
          } else {
      
          }
     
          }
          });
             
             
           }
       }  
  
         });
                      
                      
                      
                      
          
     } else {
      
     }
     //$("#sendPushWindowSubmit").attr("disabled", false);
    }
   });
   
  
   
   $.sendPushWindowShow(id,areaname);
  
 
 
   }
  );
 
 
 
    
 
 
 });
 
 
</script>

原创粉丝点击