2014-04-14 641 views
-5

我有一個javascript變量,它是當前日期的天數。使用jquery增加或減少數值

我想通過點擊一個按鈕讓用戶去上一個日期。

這是fiddle

嘗試了谷歌搜索,但我不明白或任何事都幫助我。

我能夠通過在日變量中給出-1來減少一天。但我無法弄清楚如何在每次點擊時減少它。

有人幫助我如何減少和增加點擊這些按鈕的日期?

在此先感謝。

+0

你想點擊每一次減少一個? – laaposto

+2

每次你採取當前的日期,然後減少3。每次你會得到相同的結果。你需要在某處存儲結果,然後從中減去/ –

+0

是的。我想用當前可用的變量減少一個。 –

回答

1

有一對夫婦的代碼中的問題。主要的一點是,你在每個按鈕上用當前日期點擊創建一個新的日期對象。這就是爲什麼你每次都得到相同的結果。

如果你只是想添加或日期刪除有一天,你可以這樣做只是這一點:

var currentDate = new Date();  
$('button').click(function() { 
    var add = $(this).hasClass('increase_date') ? 1 : -1; 
    currentDate.setDate(currentDate.getDate()+add); 
    $('.display_date').html(currentDate);  
}) 

http://jsfiddle.net/3VQZy/

0

將您的當前日期存儲在global variable &使用-= operator它使用當前值減1。

像這樣的事情http://jsfiddle.net/SYRDR/2/ 我只展示如何降低它,你必須添加到FORMATT日期其他條件適當

+0

達到'天<= 0' – bprayudha

0

演示:http://jsfiddle.net/SYRDR/14/

$(document).ready(function() { 
     showDate(0); 
     $('.decrease_date').click(function() { 
      showDate(-1);   
     }); 
     $('.increase_date').click(function() { 
      showDate(1);   
     }); 
    }) 

    function showDate(change) 
    { 
     var current_date;  
     if(change == 0) 
     { 
      current_date = new Date(); 
     } 
     else 
     { 
      current_date = new Date($('.display_date').html()); 
     }   
      var year = current_date.getFullYear(); 
      var month = "0" + (current_date.getMonth() + 1); 
      var day = current_date.getDate(); 

     if(change == -1) 
     { 
      day = day - 1; 
     }  
     if(change == 1) 
     { 
      day = day + 1; 
     } 
      var start_date2 = year + "-" + month + "-" + day;   
      $('.display_date').html(start_date2); 
    } 
+0

達到'天== 0' – bprayudha