簡體   English   中英

如何從文本框讀取日期,具有jQuery UI DatePicker

[英]How to read Date from textBox, having Jquery UI DatePicker

下面的Jquery UI Date Picker以正確的格式顯示日期,但讀取錯誤。

HTML:

<input type="text" id="date">
<input type="button" id="btn" value="Show"/>

JavaScript:

$('#date').datepicker({dateFormat: 'dd-mm-yy'});
$('#btn').click(function(){
  var _myDate = new Date($('#date').val());
  alert(_myDate);
});

怎么了? 這里Jsfiddle

它顯示正確的日期,但讀錯了...

當我這樣使用它時:

$('#btn').click(function(){
      var _myDate = $('#date').val();
      alert(_myDate);
 });

可以,但是當使用C#作為字符串將其傳遞到服務器端,然后將其轉換為DateTime時,當每天選擇的Day大於12時,它會給我Invalid Date錯誤。 Day視為一個月。 我所需的日期格式為dd/mm/yyyy

也許這是你的答案

$( "#date" ).datepicker({dateFormat: 'mm-dd-yy'});
    $('#btn').click(function(){
    var _myDate = new Date($('#date').val());
    var new_date=_myDate.split('-');
    var month=new_date[0];
    var day=new_date[1];
    var year=new_date[2];
    //you have 3 data, month, day and year.

    alert(month+"/"+day+"/"+year);
    });

您可以使用這3個可變的日,月,年來編寫程序

更改var _myDate = new Date($('#date').val() ); 到var _myDate = $('#date').val());

這樣嘗試

$( "#date" ).datepicker({dateFormat: 'mm-dd-yy'});
$('#btn').click(function(){
var _myDate = new Date($('#date').val()  );
alert(_myDate);
});

演示

您不需要Date類型聲明-您可以執行

$( "#date" ).datepicker({dateFormat: 'dd-mm-yy'});
$('#btn').click(function(){
  var _myDate = $('#date').val();
alert(_myDate);
});

Javascript是一種動態類型的語言,因此不需要日期初始化

試試這個:很好

  $('#date').datepicker({dateFormat: 'dd-mm-yy',  changeMonth:true, changeYear:true,showOn: "both",buttonImage: "",buttonImageOnly: false });

console.log($('#date').val());

我的javaScript函數...

convertDate = function (strDate) {
   var newDate = new Date();
   var oldDate = '';
   if (strDate.contains('/')) {
         oldDate = strDate.split('/');
      } else if (strDate.contains('-')) {
         oldDate = strDate.split('-');
      }
     //OldDate format is dd/mm/yyyy
      newDate.setDate(oldDate[0]);
      newDate.setMonth(oldDate[1] - 1);
      newDate.setYear(oldDate[2]);
      return newDate;
 }

只需使用parseDate解析文本框值,其格式與您最初設置parseDate的格式相同:

console.log($.datepicker.parseDate("dd-mm-yy", $('#date').val()));

parseDate將返回一個Date對象,因此您無需手動創建它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM