首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

一个省份选择的js有关问题

2011-12-31 
一个省份选择的js问题formid Form1 method post runat server scriptlanguage javascript

一个省份选择的js问题
<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     省就选中     '新疆 '   而城市就选中   '塔城 '

大哥帮我看看啊,看看有什么办法

[解决办法]
哇。。。。
好长啊,眼睛都花了。。。

[解决办法]
太长了 不愿看
[解决办法]
后台给一个runat=server的hidden赋值
然后在 </form> 前根据这个hidden的值
执行一段js函数就可以了

<input type= "hidden " runat= "server " id= "hidCityCode " />

document.getElementById( "Area_code ").value = document.getElementById( "hidCityCode ").value;//城市选中
//省份选中你可以根据城市的Code选中,具体函数自己写

[解决办法]
Hidden域是比较方便
<asp:hiddenfield runat= "server "> </asp:hiddenfield>

[解决办法]
你的意思是根據每二個(城市的代碼),來反過來決定省的代碼選擇是吧。
你應該把省的 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);// //即會自動選擇 新疆
[解决办法]
你的意思是根據每二個(城市的代碼),來反過來決定省的代碼選擇是吧。
你應該把省的 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);// //即會自動選擇 新疆

热点排行