如何重置输入值属性

时间:2019-01-18 07:25:43

标签: javascript

单击日期选择器中的日期后,我试图重置输入的值,我的目标是单击日期后在数组中添加一个日期,而一旦单击日期后发生了什么情况多次,它仍然保留输入的先前值。

var date = new Date();
var days = [];

$(document).ready(function(){
  $("#inputMultiDate").datepicker({
    autoclose: true,
    todayHighlight: true,
    multidate: true,
    format: 'dd-mm-yyyy'
  }).on("changeDate", function(){
    dates = $('#inputMultiDate').val().split(',');
    days.push(dates);
     $('#inputMultiDate').attr('value', '');  
    console.log(days);
  });;
});

<input type="text" id="inputMultiDate" class="form-control" placeholder="Pick the multiple dates">

3 个答案:

答案 0 :(得分:1)

您可以使用onSelect上的日期选择器轻松访问事件:

var date = new Date();
var days = [];

$(document).ready(function() {
  $("#inputMultiDate").datepicker({
    autoclose: true,
    todayHighlight: true,
    multidate: true,
    format: 'dd-mm-yyyy',
    onSelect: function(dateText) {
      dates = $('#inputMultiDate').val().split(',');
      days.push(dates);
      $('#inputMultiDate').attr('value', '');
      console.log(days);
      let value = $("#inputMultiDate").datepicker("getDate");
      console.log(value);
    }
  });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>

<input type="text" id="inputMultiDate" class="form-control" placeholder="Pick the multiple dates">

答案 1 :(得分:0)

$('#inputMultiDate').val('')

在jQuery中,“ val”既是get函数,也是set函数。您可以使用val('')设置输入。

答案 2 :(得分:0)

尝试每次日期更改时调用新的Date()函数。当前,页面加载时只有一个日期。

var date = new Date();
var days = [];

$(document).ready(function(){
  $("#inputMultiDate").datepicker({
    autoclose: true,
    todayHighlight: true,
    multidate: true,
    format: 'dd-mm-yyyy'
   }).on("changeDate", function(){
    date = new Date();
    dates = $('#inputMultiDate').val().split(',');
    days.push(dates);
    $('#inputMultiDate').attr('value', '');  
    console.log(days);
  });;
});