2017-02-05 5 views
0

Ich habe 3 Auswahlfelder mit Datum, Monat und Jahr. Wenn ich das aktuelle Jahr auswähle, möchte ich die vorherigen Monate aus dem Monatsauswahlfeld entfernen. Wenn ich nächstes Jahr oder andere Jahre wähle, sollte es alle Monate anzeigen. Ich habe viele Möglichkeiten überprüft, aber nicht richtig funktioniert.Option auswählen Monat vom aktuellen Jahr entfernen

Wie kann ich alle Indizes oder Monate entfernen, die im aktuellen Jahr abgelaufen sind und alle Monate anzeigen, wenn ich andere Jahre auswähle.

<select name="date"> 
<option value="0">Day</option> 
<option value="2">1</option> 
<option value="3">1</option> 
<option value="4">1</option> 
.. 
<option value="31">31</option> 
</select> 

<select name="month"> 
<option value="0">Month</option> 
<option value="jan">January</option> 
<option value="feb">February</option> 
<option value="mar">March</option> 
.. 
<option value="dec">December</option> 
</select> 

<select name="year"> 
<option value="0">Year</option> 
<option value="2017">2017</option> 
<option value="2018">2018</option> 
... 
<option value="2030">2030</option> 
</select> 

Meine Logik ist jetzt so.

$(".year").on('change', function() { 
    //get the current year 
    if selected year is current year -> I got this right 
    then remove expired months -> This is not working right 
    if selected year is others -> Selected month should remain there 
    then show all the months 
}); 
+0

Zeigen Sie uns HTML Code Mate – rahulsm

Antwort

0

Sie können wie unten etwas tun:

<select name="month"> 
<option value="-1">Month</option> 
<option value="0">January</option> 
<option value="1">February</option> 
<option value="2">March</option> 
.. 
<option value="11">December</option> 
</select> 

$(".year").on('change', function() { 
    var currentDate = new Date(); 
    if($(this).val()== currentDate.getFullYear()){ 
     $("select [name=month] option:lt("+ currentDate.getMonth() +")").prop("disabled", true); 
    } 
    else{ 
     $("select [name=month] option").prop("disabled", false);  
    } 

}); 

Hoffe, es hilft !!

Verwandte Themen