2015-11-14 27 views
0

我創建了多個下拉列表,並且檢查是否選擇了任何類下拉列表。然後,它應該警報,並且它正在這樣做,但問題是if條件中的其他函數也會觸發,儘管存在返回假條件Javascript檢查多個下拉列表,條件返回false不工作

if條件只應在所有類下拉列表被選中時觸發

JS Fiddle demo

function addcourse() { 
 

 
    // The .each() method is unnecessary here: 
 
    $(".DD_Sub").each(function() { 
 

 
    if ($("option:selected", this).val() == " Select Subject "); { 
 

 
     alert(""); 
 
     return false; 
 
    } 
 
    
 
    }); 
 

 
    if ($("#BodyHolder_DDClass option:selected").text() == " Select Class ") { 
 

 
    alert("Select class"); 
 

 
    } 
 
    
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select name="ctl00$BodyHolder$DD_Sub1" class="DD_Sub" style="height:27px;width:150px;"> 
 
    <option value="Select Subject">Select Subject</option> 
 
    <option value="Holiday">Holiday</option> 
 
    <option value="Lunch">Lunch</option> 
 
    <option value="ECO-20">ECO-20</option> 
 
    <option value="ECO-21">ECO-21</option> 
 
    <option value="ECO-22">ECO-22</option> 
 
    <option value="ENG-20">ENG-20</option> 
 

 
</select> 
 
<select name="ctl00$BodyHolder$DD_Sub1" class="DD_Sub" style="height:27px;width:150px;"> 
 
    <option value="Select Subject">Select Subject</option> 
 
    <option value="Holiday">Holiday</option> 
 
    <option value="Lunch">Lunch</option> 
 
    <option value="ECO-20">ECO-20</option> 
 
    <option value="ECO-21">ECO-21</option> 
 
    <option value="ECO-22">ECO-22</option> 
 
    <option value="ENG-20">ENG-20</option> 
 
</select> 
 
<select name="ctl00$BodyHolder$DD_Sub1" class="DD_Sub" style="height:27px;width:150px;"> 
 
    <option value="Select Subject">Select Subject</option> 
 
    <option value="Holiday">Holiday</option> 
 
    <option value="Lunch">Lunch</option> 
 
    <option value="ECO-20">ECO-20</option> 
 
    <option value="ECO-21">ECO-21</option> 
 
    <option value="ECO-22">ECO-22</option> 
 
    <option value="ENG-20">ENG-20</option> 
 
</select> 
 
<select name="ctl00$BodyHolder$DD_Sub1" class="DD_Sub" style="height:27px;width:150px;"> 
 
    <option value="Select Subject">Select Subject</option> 
 
    <option value="Holiday">Holiday</option> 
 
    <option value="Lunch">Lunch</option> 
 
    <option value="ECO-20">ECO-20</option> 
 
</select> 
 

 
<select name="ctl00$BodyHolder$DDClass" onchange="javascript:setTimeout('__doPostBack(\'ctl00$BodyHolder$DDClass\',\'\')', 0)" id="BodyHolder_DDClass" style="height:27px;width:150px;float:left;"> 
 
    <option value="Select Class">Select Class</option> 
 
    <option value="I BA HEG">I BA HEG</option> 
 
    <option value="I BA HEK">I BA HEK</option> 
 
    <option value="I BA HEP">I BA HEP</option> 
 
</select> 
 

 
<input type="submit" name="ctl00$BodyHolder$Add_New_period_button" value="Add Period" onclick="return addcourse();" id="BodyHolder_Add_New_period_button">

+0

您是否嘗試過使用JQuery的'.hasClass()'? https://api.jquery.com/hasclass/ – Meowsome

回答

0

嘗試:

if($("option:selected").hasClass("Select")){ 
    alert("Not valid"); 
    return false; 
} 
+0

我不知道你理解我的問題說,我有四個下拉類''DD_Sub'''和一個與ID BodyHolder_DDClass'和什麼試圖就是說,如果任何一個DD_Sub類的下拉菜單中有一個選擇的文本選擇主題,那麼應該警告它正在發出警報,但是這個問題不應該繼續進行,在我的情況下,ID dd'BodyHolder_DDClass' aert也會顯示出來 – Shaik

+0

所以你想達到所有'option'標籤? – Meowsome

+0

是的正確可以你加入我聽到如果你不介意http://jsfiddle.net/shaikasifpasha3/d9z72do7/2/#&togetherjs=tc2vMJUa0v – Shaik