.net里引用该JS报错:无效字符  但是同样的文件在ASP里引用没问题,JS文件名叫 selectarea.js
lm2[3129]=new Array("沙湾县","塔城地区");

lm2[3130]=new Array("托里县","塔城地区");

lm2[3131]=new Array("裕民县","塔城地区");

lm2[3132]=new Array("和布克赛尔蒙古自治县","塔城地区");

lm2[3133]=new Array("阿勒泰市","阿勒泰地区");

lm2[3134]=new Array("布尔津县","阿勒泰地区");

lm2[3135]=new Array("富蕴县","阿勒泰地区");

lm2[3136]=new Array("福海县","阿勒泰地区");

lm2[3137]=new Array("哈巴河县","阿勒泰地区");

lm2[3138]=new Array("青河县","阿勒泰地区");

lm2[3139]=new Array("吉木乃县","阿勒泰地区");

lm2[3140]=new Array("石河子市","新疆省辖单位");

lm2[3141]=new Array("阿拉尔市","新疆省辖单位");

lm2[3142]=new Array("图木舒克市","新疆省辖单位");

lm2[3143]=new Array("五家渠市","新疆省辖单位");

lmcount=345;//全国市的数目
lmcount2=3144;//全国县的数目
//定义函数:用于联动省 和 市 两级-----city为市级下拉框的id名,pro为省下拉框的id 号。 用法:onChange="changepro('省id名','市id名');"///////////////////
function changepro(city,pro)
{
var city=city;
var pro=document.getElementById(pro).value;
var i;
document.getElementById(city).length=1; 
for (i=0;i<lmcount;i++){
if (lm[i][1]==pro){ 
document.getElementById(city).options[document.getElementById(city).length]=new Option(lm[i][0], lm[i][0]);
}        
}


//定义函数:用于联动市 和 县 两级-----county 为县级下拉框的id名,city为市下拉框的id 号。 用法:onChange="changecity('市id名','县id名');"///////////////////
function changecity(county,city)
{
var county=county;
var city=document.getElementById(city).value;
var j;
document.getElementById(county).length=1; 
for (j=0;j<lmcount2;j++){
if (lm2[j][1]==city){ 
document.getElementById(county).options[document.getElementById(county).length]=new Option(lm2[j][0], lm2[j][0]);
}        
}

} 还用了chinaRegion控件 是竹子写的 但是也有问题 总显示正在加载 。
http://topic.csdn.net/u/20090925/15/237755e3-5e32-4d30-a90c-0ec0f9f74afd.html?seed=218091111&r=60071857大家推荐一下

解决方案 »

  1.   

    http://www.cnblogs.com/zhwily/archive/2008/12/23/1360756.html
      

  2.   

    http://chcn001.blog.163.com/blog/static/17828915200842321159482/
      

  3.   

    http://download.csdn.net/source/1433812
      

  4.   

    大家看看这个三级联动的http://www.ledaojia.com/promotion/product-1100.jhtml最下面  我觉得还不错  因为像直辖市 他只有两级 
      

  5.   


    有个问题 就是用JS的再后台取值 怎么是乱码 诸如?--之类 我在aspx页面加了<%@ Page Language="C#" MasterPageFile="~/B2CMaster.master" AutoEventWireup="true"  CodeFile="998lbd.aspx.cs" Inherits="_998lbd" Title="Untitled Page" ContentType="text/html" ResponseEncoding="gb2312" %>
      

  6.   

    如果是这个,那么就应该很简单了,获取第一个的值,然后固定的加载第二个的dropdown,依次的
    你看源码这里: onchange="changeProvince(this);" , onChange="changeCity(this);"
      

  7.   

    js文件另存为UTF-8编码,顺便检查下中文是不是有乱码了啊asp.net的文件默认是UTF-8,asp默认是gb2312的
      

  8.   

    还有好像这个并不是js控制,临时文件中没有js文件,而且在点击"市"后,后面明显的"县区"局部刷新
      

  9.   


    是从数据库里取得JS固然访问速度比较快 但是取值成了个问题 取出来的是乱码  数据库虽然取值方便但是耗资源  之前找了个用AJAX空间做的三级联动 也不够灵活
      

  10.   

    chenjianyong94的资源我下了这个看着还行,不全似的,贵2资源分呢
      

  11.   

    对SK_Aqi说: 做人一定要低调。 2分就满足了。如果分数太高。那也达不到大家学习的意义了。共同学习,共同进步
      

  12.   

    这个功能用Ajax有现成的实现,而且实例代码里有现成的例子,
      

  13.   


    selectarea.js不是乱码 我在aspx页面 头部加了 
    <%@ Page Language="C#" MasterPageFile="~/B2CMaster.master" AutoEventWireup="true"  CodeFile="998lbd.aspx.cs" Inherits="_998lbd" Title="Untitled Page" ContentType="text/html" ResponseEncoding="gb2312" %>  最后取值的时候  都成了 ??换成utf-8也不行
      

  14.   

    <select runat="server" id="city1" onChange="changepro('ctl00_cphMain_city2','ctl00_cphMain_city1'),copy()">
    .net默认是 utf-8,如果是utf-8 下拉框里连值都没有(下拉框的值 如省份,城市等是 从JS文件加载过来的),如果换成gb2312 下拉框有值了 但是在后台用 city1.value 取出来的是乱码 像:??--之类的,大家有没有现成 好用的三级联动  发个地址也行  
      

  15.   


    楼上的几个关于JS的联动 都存在上面的那个问题  有好用点的三级联动控件 或者是用ajax做的有没有 共享一下 咯   
      

  16.   

    没有乱码的。我那个省市县,请仔细看代码,他们对应的值已经 放在对应的hidden中。每次去hidden的值即可。请查看代码的设计页面。
      

  17.   

    学习了,哈哈...
    <span>测试下code功能</span>
    <a>不要见怪哦!</a>