这段是判断所选择的城市是否属于省会城市
function GetCityText()
{ var sel = document.getElementById("s2").value;   
  alert(sel);
  var index = sel.selectedIndex;   
  alert(index);
  var text = sel.options[index].text; 
  alert(text);
  return text;
   }function CheckCenterCity()
{  
  var strs= new Array();    
  strs()=["北京市区","天津市区","石家庄市","太原市","呼和浩特市","沈阳市","长春市","哈尔滨市","上海市区","南京市","杭州市","合肥市","福州市","南昌市","济南市","郑州市","武汉市","长沙市","广州市","南宁市","重庆市区","成都市","贵阳市","昆明市","西安市","兰州市","西宁市","银川市","乌鲁木齐市"];
  var s=GetCityText(); 
  alert(s);
  for(i=0;i<=strs.length;i++){     
    if(strs[i].indexof(s)!=-1)
       document.form1.rsrCitySort[0].checked =true;
    else 
      document.form1.rsrCitySort[1].checked =true;
          
  }
}然后函数的使用在这段:
<td width="97">城市编号<span class="alerttag">*</span>:</td>
            <td>
                        <span id="spryselect2">
            <label>
              <select name="rsrCity" id="s2" class="input_out" onchange="CheckCenterCity();">                                       
              </select>                     
            </label>
            <span class="selectRequiredMsg">必须选择一个市。</span></span></td>本来想一行行调试的,但是alert(sel);都没弹出来。

解决方案 »

  1.   

     strs()=["北京市区","天津市区",这一段的()去掉,是语法错误
      

  2.   

    按bhbhxy说的去掉那个括号后,函数运行了,但是好像不会循环,i只运行一次后就停止了
      

  3.   

    还是语法错误,数组好像没有indexOf方法的
    strs[i].toString().indexof(s)!=-1这么改试试
      

  4.   

    for(i=0;i<=strs.length;i++){  
        alert(strs[i]);    
        if(strs[i].indexof(s)!=-1)
           return true;只弹出“北京市区”后,就再也没有内容弹出来了
      

  5.   

    if(strs[i].toString().indexOf(s)!=-1)
      

  6.   

    function CheckCenterCity()
    {  
      var strs= new Array();    
      strs=["北京市区","天津市区","石家庄市","太原市","呼和浩特市","沈阳市","长春市","哈尔滨市","上海市区","南京市","杭州市","合肥市","福州市","南昌市","济南市","郑州市","武汉市","长沙市","广州市","南宁市","重庆市区","成都市","贵阳市","昆明市","西安市","兰州市","西宁市","银川市","乌鲁木齐市"];
      var s=GetCityText(); 
      alert(s);
      for(i=0;i<=strs.length;i++){     
        if(strs[i].indexof(s)!=-1){
           document.form1.rsrCitySort[0].checked =true;
           break;
        }
        else 
          document.form1.rsrCitySort[1].checked =true;
              
      }
    }
      

  7.   

    bhbhxy,现在如果选的是省会城市,则document.form1.rsrCitySort[0].checked =true;这个执行了,
    但是如果选的不是省会城市,document.form1.rsrCitySort[1].checked =true;这句不会执行啊
      

  8.   

    改成这样后
    function GetCityText()
    {  
      var strs= new Array();    
      strs=["北京市区","天津市区","石家庄市","太原市","呼和浩特市","沈阳市","长春市","哈尔滨市","上海市区","南京市","杭州市","合肥市","福州市","南昌市","济南市","郑州市","武汉市","长沙市","广州市","南宁市","重庆市区","成都市","贵阳市","昆明市","西安市","兰州市","西宁市","银川市","乌鲁木齐市"];
      //var s=GetCityText(); 
      var s=document.getElementById("s2").value;
      alert(s);
      //alert(strs.length);  
      for(i=0;i<=strs.length;i++){  
        alert(strs[i]);  
        alert(strs[i].toString().indexOf(s));      
        if(strs[i].toString().indexOf(s)=0){
          return true;
          break;
        }
        else continue;      
       }
       return false;   
     }  function CheckCenterCity()
    {   
       if (GetCityText()==true)  
          document.form1.rsrCitySort[0].checked =true;
        else 
          document.form1.rsrCitySort[1].checked =true;         
      
    }如果选的是省会城市,则document.form1.rsrCitySort[0].checked =true;这个执行了,
    但是如果选的不是省会城市,document.form1.rsrCitySort[1].checked =true;这句不会执行啊
      

  9.   

    function CheckCenterCity()
    {  
      var strs= new Array();    
      strs=["北京市区","天津市区","石家庄市","太原市","呼和浩特市","沈阳市","长春市","哈尔滨市","上海市区","南京市","杭州市","合肥市","福州市","南昌市","济南市","郑州市","武汉市","长沙市","广州市","南宁市","重庆市区","成都市","贵阳市","昆明市","西安市","兰州市","西宁市","银川市","乌鲁木齐市"];
      var s=GetCityText(); 
      alert(s);
      for(i=0;i<=strs.length;i++){     
        if(strs[i].indexOf(s)!=-1){
           document.form1.rsrCitySort[0].checked =true;
           break;
        }
        else 
          document.form1.rsrCitySort[1].checked =true;
              
      }
    }
      

  10.   

    这个函数已经循环查找了匹配变量s的数组项
    验证方法就是在
    for循环里将i的值alert出来,i会显示从0到匹配项的次数
      

  11.   


    for(i=0;i<=strs.length;i++){     
        if(strs[i].toString().indexOf(s)!=-1){
           document.form1.rsrCitySort[0].checked =true;
           break;
        }
        else 
          document.form1.rsrCitySort[1].checked =true;
              
    }
      

  12.   

    还是不行啊
    for(i=0;i<=strs.length;i++){  
        alert(strs[i]);  
        alert(strs[i].toString().indexOf(s));      
        if(strs[i].toString().indexOf(s)!=-1){
          return true;
          break;
        }
        else continue;      
       }
       return false;   
    如果不是省会城市,rsrCitySort[1].checked 还是没有被选中啊
      

  13.   

    把完整的html和javascript贴上来吧
      

  14.   

    我说下解决方法吧:
    把for(i=0;i<=strs.length;i++){  改成
    for(i=0;i<strs.length;i++){  就行了,呵呵
      

  15.   

    再次谢谢热心的bhbhxy和hongmei85