2014-01-30 3 views
0

Я использую два раскрывающегося списка (месяц, год). Я должен ограничить будущий месяц по году. предположим, что если я выберу «2014», он должен показать месяцы до января. У меня нет никакой подсказки, как разобраться с этой проблемой. пожалуйста, руководство правильноКак ограничить будущий месяц с помощью javascript

<div class="width2 margin-bottom margin-top"> 
    <div class="profile-text"> 
    <span class="red">*</span>&nbsp;Certified On 
    </div> 
    <div class="profile-right"> 
    <s:select list="#{'':'---Select Month---','Jan':'Jan','Feb':'Feb', 
     'Mar':'Mar','Apr':'Apr','May':'May','Jun':'Jun','July':'July', 
     'Aug':'Aug','Sep':'Sep','Oct':'Oct','Nov':'Nov','Dec':'Dec'}" 
     name="month" id="month" data-toggle="tooltip" 
     title="Please enter the month" cssStyle="height:32px; width:49%;" 
     placeholder="Month" cssClass="profile-input "/> 


     <s:select list="yearList" name="year" id="year" data-toggle="tooltip" 
     title="Please Enter Year" headerKey="" headerValue="--Select Year--" 
     cssStyle="height:32px; width:49%;" placeholder="Year" 
     cssClass="profile-input">  
     </s:select>   

    </div> 
</div>  
+1

Вы имеете в виду, что он должен показывать текущий месяц для текущего года и должен показывать все месяцы за последние годы? – dreamweiver

+0

да, он должен показывать текущий месяц для текущего года и должен показывать все месяцы за последние годы –

ответ

0

попробовать этот способ

$('#year').on('change',function() { 
    var currMon= (new Date).getMonth(); 
    var currYear = (new Date).getFullYear(); 

    if(currYear === $('#year :selected').text()){ 
     $('#month option:eq('+currMon+')').prop('selected', true); 
     $('#month').prop('disabled',true); 
    } 
    else{ 
     $('#month').prop('disabled',false); 
    } 
}); 

Примечание: значение месяца выберите должно быть 0 к 11, представляющий джан в десятичную

Счастливый Coding :)

+0

, Спасибо за ваш ответ. Я разработал ответ из вашей идеи. –

0

$ ('# год'). On ('change', function() {

var option = ["Jan", "Feb", "Mar", "Apr", "May", "June", "July", "Aug", "Sep", "Oct", "Nov" «декабрь»];

var currMon = (новая дата) .getMonth();

var currYear = (новая дата) .getFullYear();

$ ('# month'). Html ('');

если (. CurrYear == $ ('# год: выбранный') текст() & & currMon == 0) {

for(i=0; i<=currMon; i++) 
     { 
     $('#month').append($("<option />").val(option[i]).text(option[i])); 
     } 
}else 
    { 
    for(i=0; i<=11; i++) 
    { 
    $('#month').append($("<option />").val(option[i]).text(option[i])); 
    } 
    } 

});

Смежные вопросы