2012-08-09 104 views
0

我想在選擇更改時重新填充選擇框。使用循環填充選擇

我做了什麼至今(不工作):

$('select#mnt').change(function(){ 

    var month = $(this).val(); 
    var days = new Date(year, month, 0).getDate(); 
    var toMonth = <?php echo $tomon; ?>; 
    var toDay = <?php echo $today; ?>; 
    var result=''; 

    if (month!=toMonth) { 

     for(var i=1; i<=days;i++){ 

      result += '<option>'+i+'</option>'; 

     } 

     $('select#days').empty().html(result); 
    } 




    }); 
+0

腳本在哪裏不起作用? – rollstuhlfahrer 2012-08-09 08:53:07

回答

1

您沒有在該函數的變量year。你在別處創建它嗎?

這裏的工作示例,有了一些變化:DEMO

$('select#mnt').change(function(){ 

var month = $(this).val(); 
var days = new Date(2012, month, 0).getDate(); 
var toMonth = 5; 
var toDay = 4; 
var result=''; 

if (month!=toMonth) { 

    for(var i=1; i<=days;i++){ 

     result += '<option>'+i+'</option>'; 
    } 

    $('select#days').empty().html(result); 
} 
}); 
+0

謝謝,我完全忽略了年變量;) – John 2012-08-09 09:03:29

2

year VAR不會在您的代碼段存在:

var days = new Date(year, month, 0).getDate(); 

應該是這樣的:

var year=2011;//or $('input#year').val(); 
var days = new Date(year, month, 0).getDate();