Javascript忽略空下拉列表值

时间:2014-12-06 04:04:04

标签: javascript html

我一直在尝试多种方法来获取下拉搜索功能以排除空值。例如,我有以下代码和一些空行(即.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>

1 个答案:

答案 0 :(得分:3)

您正在测试this.selectedIndex从不是一个空字符串,因为它的值是一个数字。而是测试this.value

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