2012-10-12 75 views
1

我想驗證我的價值,但犯規相當的工作,如果有人可以幫助我簡單的jQuery驗證失敗

function countrySelectChanged() { 
    $('.sub-menu').hide(); 
    var selectedCountry = $('#country-select').val(); 
    if (selectedCountry) { 
     $('#' + selectedCountry + '-select').show(); 
    } 
} 
$(document).ready(function() {  
    $('#country-select').change(countrySelectChanged); 
    countrySelectChanged(); 

    var valid; 

    $('#click').click(function(){   
     if ($("#us-select").val() =="" || $("#germany-select").val() =="" ){ 
      valid = false; 
     } else { 
      valid = true; 
     } 

     if (!(valid)) { 
      $('#msg').html('NOt Passed') 
     } else { 
      $('#msg').html('Pass') 
     } 
    });  
}); 

這裏是HTML

<select id="country-select"> 
    <option value="none" >---</option> 
    <option value="us" >US</option> 
    <option value="germany">Germany</option> 
</select> 

<select id="us-select" class="sub-menu hide"> 
    <option value="none" >---</option> 
    <option value="austin" >Austin</option> 
    <option value="austin2" >Austin2</option> 
</select> 

<select id="germany-select" class="sub-menu hide"> 
    <option value="none" >---</option> 
    <option value="berlin">Berlin</option> 
    <option value="berlin2">Berlin2</option> 
</select> 

<select id="none-select" class="sub-menu hide"> 
    <option value="none" >---</option> 
</select> 

<a href="#" id="click">click me</a> 
<div id="msg"></div>​ 

這是網絡版

http://jsfiddle.net/RPWPZ/14/

回答

1

工作演示http://jsfiddle.net/SJ7Sg/http://jsfiddle.net/95zXa/

要得到你需要做到這一點$("#us-select option:selected").val()

API =>http://api.jquery.com/selected-selector/

休息selcted選項應該適應事業:)

代碼

function countrySelectChanged() { 
    $('.sub-menu').hide(); 
    var selectedCountry = $('#country-select').val(); 
    if (selectedCountry) { 
     $('#' + selectedCountry + '-select').show(); 
    } 
} 
$(document).ready(function() { 

    $('#country-select').change(countrySelectChanged); 
     countrySelectChanged(); 

    var valid; 

    $('#click').click(function(){ 

    if ($("#us-select option:selected").val() =="none"){ 

     valid = false; 
      }else{ 
     valid = true; 

    } 


if (valid) { 
     $('#msg').html('Success') 
     return false; 
    } else { 

     $('#msg').html('Fail') 
    } 


}); 


}); 






​ 
+0

感謝您的回答,如果我選擇這兩個國家,不太正確'$(「#us-select option:selected」)。val()==「none」|| $(「#germany-select option:selected」)。val()==「none」)'http://jsfiddle.net/SJ7Sg/2/ – olo

+1

@Olo不用擔心它很高興它幫助':)'哦,爲什麼你會添加上述條件? ':)'我......究竟是什麼樣的情況下,你試圖解析,讓我知道我會做出改變或幫助你':)' –

+0

對不起,我要改變它,會回來感謝 – olo

0
if ($('#country-select').val() =="us") { 
    valid = false; 
} else 
0

必須更改 $("#us-select").val() =="" || $("#germany-select").val() ==""$("#us-select").val() =="none" || $("#germany-select").val() =="none"

因爲選擇默認值是 「無」 - >

<select id="country-select"> <option **value="none"** >---</option> <option value="us" >US</option> <option value="germany">Germany</option> </select>