我一直在尝试多种方法来获取下拉搜索功能以排除空值。例如,我有以下代码和一些空行(即.value =“”),以允许每个国家/地区组分开。问题是,无论我做什么,当我点击这些空值时页面都会刷新。我尝试使用if语句排除它们,但这不起作用。我不能只计算这个内容是动态加载的。任何帮助将不胜感激,因为我是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>
答案 0 :(得分:3)
您正在测试this.selectedIndex
,从不是一个空字符串,因为它的值是一个数字。而是测试this.value
:
document.getElementById("state").onchange = function() {
if (this.value != "") {
window.location.href = this.value;
}
};