web-dev-qa-db-fra.com

Liste déroulante de sélection de mois en HTML et JavaScript

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?

10
user1638279

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/

4
jtheman

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

0
Matei Mihai