3

我使用日期選擇器來選擇日期2日期....同時單擊退格我清除文本框的值....在Firefox中它工作正常但在Chrome中它重定向到我的上一頁。返回空間重定向到日期選擇器上的上一頁鉻在

$().ready(function() { 

      var dates = $("#TestDateFrom, #TestDateTo").datepicker({ 
       changeMonth: true, 
       numberOfMonths: 1, 
       onSelect: function(selectedDate) { 
        var option = this.id == "TestDateFrom" ? "minDate" : "maxDate", 
        instance = $(this).data("datepicker"), 
        date = $.datepicker.parseDate(
        instance.settings.dateFormat || 
        $.datepicker._defaults.dateFormat, 
        selectedDate, instance.settings); 
        dates.not(this).datepicker("option", option, date); 
       } 
      }); 

      $("#TestDateFrom").keypress(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateFrom").val(""); // backspace 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 

      $("#TestDateTo").keypress(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateTo").val(""); // backspace 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 


     }) 

回答

4

事件火了jQuery按鍵,鍵上鍵按下是依賴於瀏覽器..所以火在所有三個獲得穩定的結果的情況下...

試試這個

$().ready(function() { 

      var dates = $("#TestDateFrom, #TestDateTo").datepicker({ 
       changeMonth: true, 
       numberOfMonths: 1, 
       onSelect: function(selectedDate) { 
        var option = this.id == "TestDateFrom" ? "minDate" : "maxDate", 
        instance = $(this).data("datepicker"), 
        date = $.datepicker.parseDate(
        instance.settings.dateFormat || 
        $.datepicker._defaults.dateFormat, 
        selectedDate, instance.settings); 
        dates.not(this).datepicker("option", option, date); 
       } 
      }); 

      $("#TestDateFrom").keyup(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateFrom").val(""); 
         e.preventDefault(); // backspace 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 
      $("#TestDateFrom").keydown(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateFrom").val(""); // 
         e.preventDefault(); 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 

      $("#TestDateFrom").keypress(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateFrom").val(""); // backspace 
         e.preventDefault(); 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 

      $("#TestDateTo").keypress(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateTo").val(""); // backspace 
         e.preventDefault(); 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 

      $("#TestDateTo").keyup(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateTo").val(""); // backspace 
         e.preventDefault(); 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 
      $("#TestDateTo").keydown(function(e) { 
       switch (e.keyCode) { 
        case 8: 
         $("#TestDateTo").val(""); // backspace 
         e.preventDefault(); 
         break; 
        default: 
         e.preventDefault(); 
         break; 
       } 
      }); 




     }) 
+0

感謝它的工作 – user1086355

0

這對我有效,但我的日期選擇器文本框設置爲只讀。不希望用戶能夠輸入日期。我創建了一個委託事件偵聽器來處理兩個datepicker文本框的所有「關鍵」事件。

$(document).on('keypress keydown keyup', '#txtDtFrom, #txtDtTo', function (e){ 
    if (e.keyCode == 8) e.preventDefault(); 
}); 

如果你想簡化你的選擇器,你也可以添加一個類到所有的datepicker文本框。

相關問題