1

自分の価値を検証したいのですが、誰かが私を助けてくれるとうまくいきません

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/

4

3 に答える 3

1

作業デモ http://jsfiddle.net/SJ7Sg/ または http://jsfiddle.net/95zXa/

選択したオプションを取得するには、これを行う必要があります$("#us-select option:selected").val()

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

残りは原因に合うはずです:)

コード

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')
  }


});


});






​
于 2012-10-12T01:09:26.670 に答える
0
if ($('#country-select').val() =="us") {
  valid = false;
} else
于 2012-10-12T01:17:33.427 に答える
0

あなたはで変更する必要があり $("#us-select").val() =="" || $("#germany-select").val() =="" ます $("#us-select").val() =="none" || $("#germany-select").val() =="none"

selectのデフォルト値は「none」であるため->

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

于 2012-10-12T01:34:18.713 に答える