2
I have a select with the genres "Male" and "Female", when selecting one of these genres, is shown another select with sports modalities and each of these modalities prints a table.
I am beginner in jQuery and need the tables to be filtered according to the selected option of select.
For example, if I selected the gender "Female" it would show the second select with the modalities, then selecting one of the modalities it would show its respective table below. Changing the mode the table would also be changed, if the gender is changed, I would like it to return to the blank table with the select of the modalities.
When I select another mode, the previous table does not disappear. How could I solve such a problem?
Follow the code I’m using:
jQuery(function($) {
$('#top-escolas-genero').change(function() {
var marca = $('#top-escolas-genero').val();
switch (marca) {
case 'blank-table':
$('#blank-table').show();
$('#table-atletismo-masculino, #table-atletismo-feminino, #table-basquete-masculino, #table-basquete-feminino, #top-escolas-modalidade-masculino, #top-escolas-modalidade-feminino').hide();
break;
case 'top-escolas-modalidade-masculino':
$('#top-escolas-modalidade-masculino').show();
$('#top-escolas-modalidade-feminino').hide();
break;
case 'top-escolas-modalidade-feminino':
$('#top-escolas-modalidade-feminino').show();
$('#top-escolas-modalidade-masculino').hide();
break;
default:
$('#blank-table').show();
$('#table-atletismo-masculino, #table-atletismo-feminino, #table-basquete-masculino, #table-basquete-feminino, #top-escolas-modalidade-masculino, #top-escolas-modalidade-feminino').hide();
break;
}
});
$('#top-escolas-modalidade-masculino, #top-escolas-modalidade-feminino').change(function() {
var modelo = $(this).val();
if (modelo = ('#' + this.value)){
$('#' + this.value).show();
$('#blank-table').hide();
}
else {
$('#' + this.value).hide();
$('#blank-table').show();
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container-fluid">
<div class="row">
<div class="col-md-6">
</div>
<div class="col-md-6">
<div class="top-escolas-title">
<p class="font-50-40"><span>Top 10</span> Melhores Escolas</p>
</div>
<select name="top-escolas-modalidade-masculino" id="top-escolas-modalidade-masculino" style="display:none;" class="select-modalidades font-35-30">
<option selected value="blank-table">Modalidade</option>
<option data-section="atletismo-masculino" value="table-atletismo-masculino">Atletismo</option>
<option data-section="basquete-masculino" value="table-basquete-masculino">Basquete</option>
<option data-section="msub14" value="mSub14">Futsal</option>
<option data-section="msub17" value="mSub17">Ginástica Artística</option>
<option data-section="msub17" value="mSub17">Ginástica Rítmica</option>
<option data-section="msub17" value="mSub17">Handebol</option>
<option data-section="msub17" value="mSub17">Judô</option>
<option data-section="msub17" value="mSub17">Natação</option>
<option data-section="msub17" value="mSub17">Society</option>
<option data-section="msub17" value="mSub17">Tênis de Campo</option>
<option data-section="msub08" value="mSub08">Tênis de Mesa</option>
<option data-section="msub17" value="mSub17">Vôlei</option>
<option data-section="msub17" value="mSub17">Xadrez</option>
<option data-section="msub17" value="mSub17">Patinação</option>
<option data-section="msub17" value="mSub17">Jogos Eletrônicos</option>
</select>
<select name="top-escolas-modalidade-feminino" id="top-escolas-modalidade-feminino" style="display:none;" class="select-modalidades font-35-30">
<option selected value="blank-table">Modalidade</option>
<option data-section="atletismo-feminino" value="table-atletismo-feminino">Atletismo</option>
<option data-section="basquete-feminino" value="table-basquete-feminino">Basquete</option>
<option data-section="msub14" value="mSub14">Futsal</option>
<option data-section="msub17" value="mSub17">Ginástica Artística</option>
<option data-section="msub17" value="mSub17">Ginástica Rítmica</option>
<option data-section="msub17" value="mSub17">Handebol</option>
<option data-section="msub17" value="mSub17">Judô</option>
<option data-section="msub17" value="mSub17">Natação</option>
<option data-section="msub17" value="mSub17">Society</option>
<option data-section="msub17" value="mSub17">Tênis de Campo</option>
<option data-section="msub08" value="mSub08">Tênis de Mesa</option>
<option data-section="msub17" value="mSub17">Vôlei</option>
<option data-section="msub17" value="mSub17">Xadrez</option>
<option data-section="msub17" value="mSub17">Patinação</option>
<option data-section="msub17" value="mSub17">Jogos Eletrônicos</option>
</select>
<select name="top-escolas-genero" id="top-escolas-genero" class="select-genero font-35-30">
<option selected class="on.click" value="">Gênero</option>
<option data-section="atletismo-masculino" class="on.click" value="top-escolas-modalidade-masculino">Masculino</option>
<option data-section="atletismo-feminino" class="on.click" value="top-escolas-modalidade-feminino">Feminino</option>
</select>
<div id="blank-table" class="end-map modalidades-table" data-name="blank-table">
<?php echo do_shortcode('[table id=31 /]');?> teste 1
</div>
<div id="table-atletismo-masculino" class="end-map modalidades-table" style="display:none;" data-name="atletismo-masculino">
<?php echo do_shortcode('[table id=1 /]');?> teste 3
</div>
<div id="table-atletismo-feminino" class="end-map modalidades-table" style="display:none;" data-name="atletismo-feminino">
<?php echo do_shortcode('[table id=2 /]');?> teste 4
</div>
<div id="table-basquete-masculino" class="end-map modalidades-table" style="display:none;" data-name="basquete-masculino">
<?php echo do_shortcode('[table id=3 /]');?> teste 5
</div>
<div id="table-basquete-feminino" class="end-map modalidades-table" style="display:none;" data-name="basquete-feminino">
<?php echo do_shortcode('[table id=4 /]');?> teste 6
</div>
</div>
</div>
</div>
that’s what I need, there’s only one problem, for example, if I’m in the gender "male" with the table "basketball" selected, and change the gender to "female" the table that was selected does not return until I select a new one, i needed that when selecting gender the first table was always blank.
– Go uper
@There you go, there
default
ofswitch
, which is when neither of the two is chosen, you give a.show
in the blank table ; )– Lucas
I did a little editing and got what I needed, thank you very much for your help!
– Go uper