2016-08-09 5 views
0

を返します。時間の比較は常に私が何時間に基づいて、隠したり再表示行を切り替えIfステートメントの行にあり、何時間、それは現在、これは常にtrueを返します何らかの理由であることを時間比較を持っている真の

フル機能は次のとおりです。

$(function togglePast() { 
      $(document) 
       .on('click', 
        '#ctl00_content_hidePast', 
        function (e) { 
         e.preventDefault(); 
         var dt = new Date($.now() - 30 * 60000); 
         var time = dt.getHours() + ":" + (dt.getMinutes() < 10 ? '0' : '') + dt.getMinutes() + ":" + dt.getSeconds(); 
         var state = $("#ctl00_content_hdnPastBookingToggle").val(); 
         $("td.bgtime") 
          .each(function() { 
           var bookingTime = ($(this).text().split(':')); 
           var d = new Date(); 
           d.setHours(+bookingTime[0]); 
           d.setMinutes(bookingTime[1]); 

           if ($(d) > time) { 
            var timeRow = $(this).parent(); 
            $(timeRow).toggle("slow"); 
           }; 
          }); 
         if (state === "0") { 
          $("#ctl00_content_hdnPastBookingToggle").val("1"); 
         } else if (state === "1") { 
          $("#ctl00_content_hdnPastBookingToggle").val("0"); 
         }; 
         return false; 
        }); 
     }); 

、常に真である特定の比較は次のとおりです。

if ($(d) > time) { 
    var timeRow = $(this).parent(); 
    $(timeRow).toggle("slow"); 
}; 
+0

を使用しているhttp://momentjs.com/は 'プロジェクト – Weedoze

+1

なぜ' $(d)のための興味深いことができますか?それをjQueryオブジェクトに変換する必要はありません。また、 'time'が文字列オブジェクトであるので' if(d> dt) 'のようにする必要があります。 – vijayP

+0

プラグインが賢明でないため、私は –

答えて

1

あなたはこのコードを試してみてくださいでした:

$(function togglePast() { 
    $(document) 
    .on('click', 
     '#ctl00_content_hidePast', 
     function(e) { 
     e.preventDefault(); 
     var dt = new Date($.now() - 30 * 60000); 
     var time = dt.getHours() + ":" + (dt.getMinutes() < 10 ? '0' : '') + dt.getMinutes() + ":" + dt.getSeconds(); 
     var state = $("#ctl00_content_hdnPastBookingToggle").val(); 
     $("td.bgtime") 
      .each(function() { 
      var bookingTime = ($(this).text().split(':')); 
      var d = new Date(); 
      d.setHours(+parseInt(bookingTime[0])); //converting to integer from string 
      d.setMinutes(parseInt(bookingTime[1])); //converting to integer from string 

      if (d > dt) { 
       var timeRow = $(this).parent(); 
       $(timeRow).toggle("slow"); 
      }; 
      }); 
     if (state === "0") { 
      $("#ctl00_content_hdnPastBookingToggle").val("1"); 
     } else if (state === "1") { 
      $("#ctl00_content_hdnPastBookingToggle").val("0"); 
     }; 
     return false; 
     }); 
}); 

使用している間Date.setHours()integerの値を渡す必要があります。私たちはparseInt()機能

関連する問題