如何在输入日期中设置年份值

时间:2019-08-30 04:03:00

标签: javascript jquery date

我只想在输入日期中设置年份

var dateVal = $('#mydate').val();
new Date(dateVal).setFullYear(2015);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label for="mydate">My input</label> 
<input id="mydate" type="date">

3 个答案:

答案 0 :(得分:0)

这可能不是最有效的方法,但是请尝试以下方法:

function clicked() {
        alert(new Date(document.getElementById("year").value, 01, 01, 00, 00, 00, 00));
    }
 
    <input type="number" name="year" min="1000" max="9999" id="year">
<input type="button" onclick="clicked()" value="Click Me!">

这给了我一年的权利。您可以更改文本框的最小值和最大值。

答案 1 :(得分:0)

尝试下面的代码,在这里您可以根据需要设置年份值,但是您不能仅显示“年至今日”字段,因为它将是无效的日期,并且您不能选择日期格式来仅显示年份。您可以在普通文本输入中显示年份,如下所示。

$(document).ready(function(){
var dateVal = $('#mydate').val();
var now;
if(dateVal) {
  now = new Date(dateVal);
} else {
  now = new Date();
}

  now.setFullYear(2015);
  var day = ("0" + now.getDate()).slice(-2);
  var month = ("0" + (now.getMonth() + 1)).slice(-2);
  var myDate = now.getFullYear()+"-"+(month)+"-"+(day) ;  // for full date
  $('#mydate').val(myDate);
  $('#myyear').val(now.getFullYear());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<label for="mydate">My input</label> 
<input id="mydate" type="date">
<input id="myyear" type="text">

答案 2 :(得分:0)

您可以这样做。由于在输入类型日期中仅不支持年份,因此我选择了另一个输入字段。

   
$('#mydate').change(function() {
     var dateVal = $('#mydate').val();
     console.log(dateVal);
     getYear = dateVal.split('-');
     $("#year").val(getYear[0]);
   });
   
   <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
   <label for="mydate">My input</label>
   <input id="mydate" type="date">
   <input id="year" type="text" disabled>