2014-12-06 87 views
1

我一直在尝试多种方式来获取下拉搜索功能来排除空值。例如,我用下面的代码用一些空白行(即value =“”)来允许每个国家/地区组分开。问题是,无论我做什么页面刷新时,我点击这些空值。我试图用if语句排除它们,但那不起作用。由于此内容是动态加载的,因此我不能只计算它。任何帮助将不胜感激,因为我是Javascript的新手。JavaScript忽略空白下拉值

谢谢!

<select id="state"> 
    <option value="">Select a State/Province to Search</option> 
     <option value=""></option> 
     <option value="http://www.cabcot.com/listings/canada/">Canada</option> 
      <option value="http://www.cabcot.com/listings/canada/manitoba/"> - Manitoba</option> 
     <option value=""></option> 
     <option value="http://www.cabcot.com/listings/united-states/">United States</option> 
     <option value="http://www.cabcot.com/listings/united-states/california/"> - California</option> 
</select> 

<script> 
    document.getElementById("state").onchange = function() { 
     if (this.selectedIndex!==0 && this.selectedIndex!=="" && this.selectedIndex!==null) { 
      window.location.href = this.value; 
     }   
    }; 
</script> 

回答

3

您正在测试this.selectedIndex,这将永远是一个空字符串,因为它的值是一个数字。测试this.value改为:

document.getElementById("state").onchange = function() { 
    if (this.value != "") { 
     window.location.href = this.value; 
    }   
}; 
+0

工作完美!谢谢!!!! – 2014-12-06 04:08:10