论坛首页 Web前端技术论坛

输入编号自适应省份---JavaScript

浏览 3638 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2007-07-16  
由于业务需要,需要做一个类似Google提示的功能,输入省份的编号,就要自动匹配到所在省市县!
比如:110000,在名称文本框中就要出现"北京市"
因此,做了如下的方法:还望大家多多指教,看有没有更好的方法
这个方法的局限性很强;比如直辖市:北京,重庆,上海,香港,澳门等一些特殊编码的城市就不行了
js 代码
  1.  <script language=< span="">"JavaScript">      
  2.              function checkBiaoHao() {      
  3.                 var valueJianCheng=new Array();      
  4.                 <%      
  5.                 out.print(juxinxi.getXj_Id_Value());      
  6.                 %>      
  7.                 var name= new Array();      
  8.                 <%      
  9.                 out.print(juxinxi.getXj_Id_Name());      
  10.                 %>      
  11.                var xj_id=document.getElementById("XJ_ID");      
  12.                var oldXJ_ID=xj_id.value;      
  13.                   if(oldXJ_ID == ""||oldXJ_ID == null) {      
  14.                     alert("编号不能为空,请填写");      
  15.                         xj_id.focus();      
  16.                     return;      
  17.                   }      
  18.                   var txj_IdNumber=Number(oldXJ_ID);      
  19.                   if(isNaN(txj_IdNumber)) {      
  20.                     alert("编号必须为数字,请重新填写");      
  21.                     xj_id.focus();      
  22.                     return;      
  23.                   }      
  24.                   else if(oldXJ_ID.length == 6)      
  25.                   {      
  26.                     var biteStr=oldXJ_ID.substring(0,4);      
  27.                     for(i=0; i<name.length;i++)      <="" span="">
  28.                     {      
  29.                              //如果数组中已经有此编码,就提示      
  30. //                             if(name[i].equals(oldXJ_ID))      
  31. //                             {      
  32. //                               alert("数据库中,已存在该数据");      
  33. //                               break;      
  34. //                             }      
  35.                              //其它省,请联系管理添加顶级省      
  36.                              var startStr=oldXJ_ID.substring(0,2);      
  37.                              var nameStr=name[i].substring(0,2);      
  38.                              if((nameStr!=startStr)&&(oldXJ_ID.indexOf("0000",2)!= -1)&&(name[i].indexOf("0000",2) != -1))      
  39.                              {      
  40.                                  //var newStr=startStr+'0000';      
  41.                                  //alert(newStr);      
  42.                                  alert("其它省,请联系管理添加顶级省");      
  43.                              }      
  44.                              //省级方法      
  45.                              if((name[i].indexOf(biteStr) != -1)&&(oldXJ_ID.indexOf("0000",2)!= -1)&&(name[i].indexOf("0000",2) != -1))      
  46.                              {      
  47.                                document.getElementById("ParentID").value=name[i];      
  48.                                document.getElementById("ParentIDs").value=valueJianCheng[i];      
  49.                                break;      
  50.                              }      
  51.                              //市级方法      
  52.                              if((oldXJ_ID.indexOf("00",4) != -1)      
  53.                              &&(name[i].indexOf("0000",2) == -1)      
  54.                              &&(name[i].indexOf("00",4)!=-1)      
  55.                              &&(oldXJ_ID.indexOf("0000",2) == -1))      
  56.                              {      
  57.                                for(j=0;j<name.length;j++) {      <="" span="">
  58.                                  if((name[j].indexOf("0000",2) != -1))      
  59.                                  {      
  60.                                    document.getElementById("ParentID").value=name[j];      
  61.                                    document.getElementById("ParentIDs").value=valueJianCheng[j];      
  62.                                    break;      
  63.                                  }      
  64.                                }      
  65.                              }      
  66.                              //县级方法      
  67.                              var endStr=oldXJ_ID.substring(4,6);      
  68.                              if((name[i].indexOf(biteStr) != -1)&&(name[i].indexOf(endStr,4) == -1)&&(name[i].indexOf("0000",2) == -1)&&(oldXJ_ID.indexOf("0000",2) == -1))      
  69.                              {      
  70.                                 document.getElementById("ParentID").value=name[i];      
  71.                                document.getElementById("ParentIDs").value=valueJianCheng[i];      
  72.                                break;      
  73.                              }      
  74.                     }      
  75.                     return;      
  76.                   }      
  77.                   else     
  78.                   {      
  79.                     alert("编号输入错误,请重新正确填写" );      
  80.                     var parentSt=document.getElementById("XJ_ID");      
  81.                     parentSt.focus();      
  82.                     return;      
  83.                   }      
  84.              }      
  85.      
  86.               function addForm() {      
  87.      
  88.                 var xj_ids=document.getElementById("XJ_ID").value;      
  89.                   if(xj_ids == ""||xj_ids == null) {      
  90.                     alert("编号不能为空,请填写");      
  91.                         xj_ids.focus();      
  92.                     return;      
  93.                   }      
  94.                   var xj_MingCheng = document.getElementById("XJ_MingCheng");      
  95.                   if(xj_MingCheng.value==""){      
  96.                     alert("名称不能为空,请填写");      
  97.                     xj_MingCheng.focus();      
  98.                     return;      
  99.                   }      
  100.      
  101.                   var xj_JianCheng = document.getElementById("XJ_JianCheng");      
  102.                   if(xj_JianCheng.value==""){      
  103.                     alert("简称不能为空,请填写");      
  104.                     xj_JianCheng.focus();      
  105.                     return;      
  106.                   }      
  107.                   var parentID = document.getElementById("ParentID");      
  108.                   if(parentID.value==""){      
  109.                     alert("上级编号不能为空,请填写");      
  110.                     parentID.focus();      
  111.                     return;      
  112.                   }      
  113.               }      
  114.         </script>     
   发表时间:2007-07-17  
没太理解你的需求,意思是要我输入一个号码,他会到后台把相关的名称都读出来,比如我输入1,他会到后台把以1开头的所有记录都读出来,在表里是编码对应地名吗
0 请登录后投票
   发表时间:2007-07-18  
自动匹配到所在省市县
    拿山东省来举例:
    370000---山东省
    370800---市
    370825---县
    
     当用户输入370801这个编号的时候
     省市县文本框中就要出现这个编号的名称
     省的话,就是它自己;
     市的话,它的上一级就是省,所以在省市县文本框中都应显示省
    上面的代码,功能已经实现,但是局限性太强了,所以想请大家来帮
        帮忙[color=blue]
[/color]
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics