Javascript 如何重置输入值属性

Javascript 如何重置输入值属性,javascript,Javascript,我试图在单击datepicker中的某个日期后重置输入值,我的目标是在数组中添加一个日期单击某个日期后,发生的情况是,一旦我多次单击某个日期,它仍然保留输入的先前值 var date = new Date(); var days = []; $(document).ready(function(){ $("#inputMultiDate").datepicker({ autoclose: true, todayHighlight: true, multidate:

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

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">
var-date=新日期();
风险值天数=[];
$(文档).ready(函数(){
$(“#inputMultiDate”).datepicker({
自动关闭:是的,
今天的亮点:没错,
多日期:对,
格式:“dd-mm-yyyy”
}).on(“变更日期”,函数(){
dates=$('#inputMultiDate').val().split(',');
天。推送(日期);
$('#inputMultiDate').attr('value','');
控制台日志(天);
});;
});
在jQuery中,“val”是一个get函数,也是一个set函数。您可以使用val(“”)设置输入。

每次日期更改时尝试调用new 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);
  });;
});

您可以使用datepicers onSelect轻松访问事件:

var-date=新日期();
风险值天数=[];
$(文档).ready(函数(){
$(“#inputMultiDate”).datepicker({
自动关闭:是的,
今天的亮点:没错,
多日期:对,
格式:“dd-mm-yyyy”,
onSelect:函数(日期文本){
dates=$('#inputMultiDate').val().split(',');
天。推送(日期);
$('#inputMultiDate').attr('value','');
控制台日志(天);
让值=$(“#inputMultiDate”).datepicker(“getDate”);
console.log(值);
}
});
});


我已经尝试过这个方法,但问题是它仍然保留输入的前一个日期并将其存储到我的数组中,结果是ex0:[“02-01-2019”]1:[“02-01-2019”,“03-01-2019”]相同的输出sir我可以知道“on”和“onSelect”之间的区别吗,onSelect是特定于定义的日期选择器的事件侦听器。文档声明,datepicker选择不会向外部触发任何事件。查看并查看列事件。因此,您可以将事件处理程序直接添加到特定的选择事件,而不是将datepicker
$(“#inputMultiDate”)
绑定到事件。我也不知道为什么即使使用attr.val('')或.val('[)输入也会保留以前的值?如果要获取datepicker的当前值,请改用
let value=$(“#inputMultiDate”).datepicker(“getDate”);
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);
  });;
});