2015-08-26 45 views
0

我試圖讓我的下拉框在JQuery對話框中正常工作。我有4種不同的選擇。如果我在這種情況下只選擇4箇中有2個值爲A或B,那麼我的第二個下拉應該允許我選擇YES或NO NO NONE。這是我爲我的下落碼下拉框:如何在提交表單時使用JavaScript進行驗證?

<div id="Dialog"> 
     <table> 
      <tr><td align="left">Slecet Type</td> 
      <td><select name="Type" id="Type"> 
        <option value="A">One</option> 
        <option value="B">Two</option> 
        <option value="C">Three</option> 
        <option value="D">Four</option> 
       </select> 
      </td> 
     </tr> 
     <tr> 
     <td align="left">Slecet Option</td> 
     <td> 
      <select name="drop" id="drop"> 
       <option value="">Select One</option> 
       <option value="1">Yes</option> 
       <option value="0">No</option> 
       <option value="99">None</option> 
      </select> 
     </td> 
    </tr> 
    </table> 
</div> 

所以,如果我選擇在我的第一滴一兩下,只有在這種情況下,我可以在我的第二個下拉菜單中選擇YES或NO,否則應該是NONE 。我試圖用coldfusion驗證來解決這個問題,但那對我沒有用。

<cfif getQuery.Type EQ 'A' OR getQuery.Type EQ 'B'> 
     <option value="1">Yes</option> 
     <option value="0">No</option> 
<cfelse> 
     <option value="99">None</option> 
</cfif> 

所以,現在我試圖解決這個使用jQuery,但我不能得到它的工作。這裏是我的jQuery代碼,我試圖執行驗證:

$("#Dialog").dialog({ 
      title:'Hello World', 
      modal:true,autoOpen:false,width:600, 
      buttons: { 
    'Continue': function(){mydrop = $('#drop'); 
      if($(mydrop).val() != 'A' || $(mydrop).val() != 'B'){alert('Please select different');};$(this).dialog('close');} } 
     }); 

我不知道我是否可以使用該功能的這裏面的代碼繼續按鈕或本應在其他地方放置。如果你知道我應該改變什麼,請讓我知道。

回答

1

您需要獲取選定的選項值才能驗證,而不是僅檢查下拉值。

if($('#drop option:selected').val() != 'A' || $('#drop option:selected').val() != 'B') 

根據您的建議對驗證邏輯是否應該放在繼續按鈕裏面,如果您的驗證僅值=「A」或「B」,那麼你可以把它它在哪裏,檢查,但如果邏輯變得複雜並且需要更多的if-else檢查,則創建另一個js函數。

這裏是在行動小提琴:http://jsfiddle.net/dmfawp8g/11/

+0

我怎麼能強迫我的第二個下拉,如果我們在第一個下拉菜單中選擇A或B只提供給選擇嗎? –

+1

如果下拉列表1的值不是'A'和'B',您可以從下拉菜單2中禁用這2個選項。看看這個小提琴。 http://jsfiddle.net/dmfawp8g/11/ – DinoMyte

相關問題