<form id="Form1" method="post" runat="server">
<script language="javascript">function provinceSelChange(selname)
{
var index=Form1.Province.value;
pList.getOptionAreasString(index,selname);
}function area(name,code) 
{
   this.name=name;
   this.code=code;
    
}function province(name,code) 
{
   this.data=new Array();
   this.name=name;
   this.code=code;
   this.add=area_add;
   
}function provinceList() 
{
   this.data=new Array();
   this.add=province_add;
   this.addAt=province_addAt;
   this.getOptionString=provinceList_getOptionString;
   this.getOptionAreasString=provinceList_getAreasOptionString;
}function area_add(area)
{
this.data[this.data.length]=area;
}
function province_add(province)
{
this.data[this.data.length]=province;
}
function province_addAt(i,area)
{
var province=this.data[i];
province.add(area);
}
function provinceList_getOptionString()
{
var temp="";
for(var i=0;i<this.data.length;i++)
temp+="<option value="+i+">"+this.data[i].name;
return temp;
}
function provinceList_getAreasOptionString(index,selname)
{
var temp="";
var prov=this.data[index];

if(prov==null||prov.data.length==0)
{
selname.length=1; 
selname.options[0].text="没有城市";
selname.options[0].value="no";
return "<option value=no>没有城市 </option>";
}
selname.length=0;
for(var i=0;i<prov.data.length;i++)
{
selname.length++;
selname.options[i].text=prov.data[i].name;
selname.options[i].value=prov.data[i].code;
temp+="<option value="+prov.data[i].code+">"+prov.data[i].name;
}
return temp;
}
var pList=new provinceList();
</script>
<script language="javascript">
pList.add(new province("山西", "山西"));
pList.addAt(0,new area("朔州", "203"));
pList.addAt(0,new area("怀仁", "204"));
pList.addAt(0,new area("应县", "205"));
pList.addAt(0,new area("右玉", "206"));
pList.addAt(0,new area("山阴", "207"));
pList.addAt(0,new area("忻州", "208"));
pList.addAt(0,new area("原平", "209"));
pList.add(new province("新疆", "新疆"));
pList.addAt(1,new area("塔城", "2207"));
pList.addAt(1,new area("额敏", "2208"));
pList.addAt(1,new area("裕民", "2209"));
pList.addAt(1,new area("托里", "2210"));
pList.addAt(1,new area("哈密", "2211"));
pList.addAt(1,new area("马里坤", "2212"));
</script>
<table width="100%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td height="20" width="100%">
<select name="Province" id="Province" style="FONT-SIZE:12px" onchange="provinceSelChange(Form1.Area_code)"
onKeyUP="if(window.event.keyCode==13) document.Form1.Area_code.focus();">
<script language="javascript">
        document.write(pList.getOptionString());
</script>
</select>
<select name="Area_code" id="Area_code" style="FONT-SIZE:12px">
<script language="javascript">
        document.write(pList.getOptionAreasString(0,Form1.Area_code)); 
        
</script>
</select>
</td>
</tr>
</table>
</form>这个是一个省份选择的 js 代码,没问题
但我现在要做一个是 后台赋值  让他有个 初始化的选中,比如 我后台赋值
2207  省就选中  '新疆' 而城市就选中 '塔城'大哥帮我看看啊,看看有什么办法

解决方案 »

  1.   

    后台给一个runat=server的hidden赋值
    然后在</form>前根据这个hidden的值
    执行一段js函数就可以了<input type="hidden" runat="server" id="hidCityCode" />document.getElementById("Area_code").value = document.getElementById("hidCityCode").value;//城市选中
    //省份选中你可以根据城市的Code选中,具体函数自己写
      

  2.   

    Hidden域是比较方便
    <asp:hiddenfield runat="server"></asp:hiddenfield>
      

  3.   

    你的意思是根據每二個(城市的代碼),來反過來決定省的代碼選擇是吧。
    你應該把省的 value值也設置成代號:如
    pList.add(new province("山西", "20"));
    pList.add(new province("新疆", "22"));假設 temp是從來台傳來.
    var temp="22007";
    Area_code.value=temp; // 會自動選擇對應的  '塔城'
    Province.value="temp.substring(0,2);// //即會自動選擇 新疆
      

  4.   

    你的意思是根據每二個(城市的代碼),來反過來決定省的代碼選擇是吧。
    你應該把省的 value值也設置成代號:如
    pList.add(new province("山西", "20"));
    pList.add(new province("新疆", "22"));假設 temp是從來台傳來.
    var temp="22007";
    document.getElementById("Area_code").value=temp; // 會自動選擇對應的  '塔城'
    document.getElementById("Province").value="temp.substring(0,2);// //即會自動選擇 新疆
      

  5.   

    注意,從後台傳初過來,可以這樣做。
    <script>
      var temp="<%=area_code%>";
    </script>
    當然,要保證 area_code是後台的全局變量,並且在後吧的 load事件裡賦於了初值