показать / скрыть div в зависимости от выбора опции jquery - PullRequest
22 голосов
/ 04 июня 2010

Вот мой код. Почему это не работает?

<Script> 
   $('#colorselector').change(function() {
        $('.colors').hide();
        $('#' + $(this).val()).show();
 });
</Script>
<Select id="colorselector">
   <option value="red">Red</option>
   <option value="yellow">Yellow</option>
   <option value="blue">Blue</option>
</Select>
<div id="red" class="colors" style="display:none"> .... </div>
<div id="yellow" class="colors" style="display:none"> ... </div>
<div id="blue" class="colors" style="display:none"> ... </div>

Ответы [ 4 ]

73 голосов
/ 04 июня 2010

Вы запускаете код до загрузки DOM.

Попробуйте это:

Живой пример:

http://jsfiddle.net/FvMYz/

$(function() {    // Makes sure the code contained doesn't run until
                  //     all the DOM elements have loaded

    $('#colorselector').change(function(){
        $('.colors').hide();
        $('#' + $(this).val()).show();
    });

});
6 голосов
/ 01 августа 2017
<script>  
$(document).ready(function(){
    $('#colorselector').on('change', function() {
      if ( this.value == 'red')
      {
        $("#divid").show();
      }
      else
      {
        $("#divid").hide();
      }
    });
});
</script>

Делать так для каждого значения

2 голосов
/ 28 марта 2012

Чтобы показать div при выборе одного значения и скрыть при выборе другого значения из выпадающего списка: -

 $('#yourselectorid').bind('change', function(event) {

           var i= $('#yourselectorid').val();

            if(i=="sometext") // equal to a selection option
             {
                 $('#divid').show();
             }
           elseif(i=="othertext")
             {
               $('#divid').hide(); // hide the first one
               $('#divid2').show(); // show the other one

              }
});
1 голос
/ 04 июня 2010

Вам не хватает :selected в селекторе для show() - пример использования этого см. В документации jQuery .

В вашем случае это будет выглядеть примерно так:

$('#'+$('#colorselector option:selected').val()).show();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...