J'ai 2 listes déroulantes en HTML représentant les mois. Donc, je veux une validation comme suit.
Si je sélectionne le premier mois en avril, le menu déroulant suivant devrait commencer à partir du mois en avril. Si le premier est changé en juin, le second devrait être remplacé par juin.
<div id="head2" style="width:15%;float:right;margin-left:5px;">
<select id='gMonth2' onchange="show_month()">
<option value=''>--Select Month--</option>
<option selected value='1'>Janaury</option>
<option value='2'>February</option>
<option value='3'>March</option>
<option value='4'>April</option>
<option value='5'>May</option>
<option value='6'>June</option>
<option value='7'>July</option>
<option value='8'>August</option>
<option value='9'>September</option>
<option value='10'>October</option>
<option value='11'>November</option>
<option value='12'>December</option>
</select>
</div>
<div id="head1" style="width:15%;float:right;margin-left:5px;">
<select id='gMonth1'>
<option value=''>--Select Month--</option>
<option selected value='1'>Janaury</option>
<option value='2'>February</option>
<option value='3'>March</option>
<option value='4'>April</option>
<option value='5'>May</option>
<option value='6'>June</option>
<option value='7'>July</option>
<option value='8'>August</option>
<option value='9'>September</option>
<option value='10'>October</option>
<option value='11'>November</option>
<option value='12'>December</option>
</select>
</div>
La fonction sera:
function show_month()
{
//
}
Comment devrais-je écrire cette fonction?
Facile avec jQuery:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js" type="text/javascript"></script>
<script>
$(function(){
$('#gMonth2').change(function(){
var month = $(this).val();
$('#gMonth1').val(month);
});
});
</script>
et ignorer l'événement onChange dans la première sélection ...
Exemple de travail ici: http://jsfiddle.net/sCnEZ/1/
Votre fonction JS pourrait être comme ceci:
function show_month(obj) {
document.getElementById('gMonth1').selectedIndex = obj.selectedIndex;
}
Vous devriez changer onchange="show_month()"
avec onchange="show_month(this)"
Découvrez ceci jsfiddle