2017-11-25 89 views
-2

如何檢查下拉菜單中是否有任何選項作爲formvaldation?JS檢查下拉菜單中是否有選項

  <div class="form-group has-warning-add has-feedback" id="div_add_eenheid"> 


    <select class="form-control id="add_eenheid" name="add_eenheid" onclick="validate_add()" onmousemove="validate_add()"> 
       <option value="">--- Selecteer eenheid ---</option> 
       <option value="stuk">stuk</option> 
       <option value="doos">doos</option> 
       <option value="kg">kg</option> 
       </select><span class="glyphicon glyphicon-warning-sign form-control-feedback" id="add_eenheid_status"></span> 
       </div> 

function validate_add() 
{ 
    // eenheid 
    if(document.getElementById('add_eenheid').selected = true) { document.getElementById('div_add_eenheid').className = "form-group has-warning-add has-feedback"; document.getElementById('add_eenheid_status').className = "glyphicon glyphicon-warning-sign form-control-feedback"; } 
    else 
    { document.getElementById('div_add_eenheid').className = "form-group has-success-add has-feedback"; document.getElementById('add_eenheid_status').className = "glyphicon glyphicon-ok form-control-feedback"; } 
} 
</script> 

我曾嘗試:

getElementById('add_eenheid').selected = true 
getElementById('add_eenheid').value == '' 
getElementById('add_eenheid').selectedIndex == 0 

任何幫助,非常感謝。

+0

將'onclick =「validate_add()」'改爲onchange =「validate_add(this.value);」然後檢查該值是否不是空字符串。 – jeff

+0

https://stackoverflow.com/questions/1271640/validate-select-box – sinisake

+0

@jeff在document.getElementById('add_eenheid')。value ==''? – Muiter

回答

-1
<select class="form-control 
     id="add_eenheid" 
     name="add_eenheid" 
     onclick="validate_add(this.value)"> 
       <option value="">--- Selecteer eenheid ---</option> 
       <option value="stuk">stuk</option> 
       <option value="doos">doos</option> 
       <option value="kg">kg</option> 
</select> 
<span class="glyphicon glyphicon-warning-sign form-control-feedback" id="add_eenheid_status"></span> 

function validate_add(val) 
{ 
    // eenheid 
    if(val != "") { 
     document.getElementById('div_add_eenheid').className = "form-group has-warning-add has-feedback"; 
     document.getElementById('add_eenheid_status').className = "glyphicon glyphicon-warning-sign form-control-feedback"; 
    } 
} 
+0

您應該使用'!==',只需使用'!='可能會導致很多問題 – Olian04

+0

@ Olian04,使用上面的示例請列出「很多問題」。 – jeff

0

function validate_add(self) { 
 
    console.log(self.value); 
 
}
<select onchange="validate_add(this)"> 
 
    <option value="" disabled selected>--- Selecteer eenheid ---</option> 
 
    <option value="stuk">stuk</option> 
 
    <option value="doos">doos</option> 
 
    <option value="kg">kg</option> 
 
</select>

  • 每當在下拉選擇一個新的值的onchange事件將觸發。
  • selected標籤確保--- Selecteer eenheid ---選項是默認選項。
  • disabled標籤確保--- Selecteer eenheid ---選項永遠不會被選中。
    • Aka:下拉的值永遠不會是--- Selecteer eenheid ---選項的值。

所以,只要onchange事件觸發,你可以肯定的是下拉的值是一個有效的。