Javascript 具有自动完成功能的输入掩码

Javascript 具有自动完成功能的输入掩码,javascript,jquery,jquery-ui,autocomplete,jquery-inputmask,Javascript,Jquery,Jquery Ui,Autocomplete,Jquery Inputmask,我想用mask和autocomplete输入dateTime 我已经在存在问题的地方创建了小的 看起来autocomplete认为掩码是一个文本。。。只有当我完成输入时,我才能从自动完成中看到一些值(如果它存在于自动完成列表中) 有什么解决办法吗 <input name="field1" id="field1" class="inputmask" data-inputmask="'mask': 'h:s t\\m','placeholder': 'hh:mm xm', 'hourFor

我想用mask和autocomplete输入dateTime

我已经在存在问题的地方创建了小的

看起来autocomplete认为掩码是一个文本。。。只有当我完成输入时,我才能从自动完成中看到一些值(如果它存在于自动完成列表中)

有什么解决办法吗

  <input name="field1" id="field1" class="inputmask" data-inputmask="'mask': 'h:s t\\m','placeholder': 'hh:mm xm', 'hourFormat': '12', 'alias': 'datetime'"/>


function generateTime(){
  var times = [];
  Array(24).join(',').split(',').forEach(function (_, index) {
        var hour = index;
        if (hour < 10) {
            hour = '0' + hour;
        }
        times.push(moment(hour + ':00', 'HH:mm').format('hh:mm a'));
        times.push(moment(hour + ':30', 'HH:mm').format('hh:mm a'));
  });

  return times;
}


$('.inputmask').inputmask();
$('.inputmask').autocomplete({
      source: generateTime()
});

函数generateTime(){
var时间=[];
数组(24).join(',').split(',').forEach(函数(\ux,索引){
var小时=指数;
如果(小时<10){
小时='0'+小时;
}
推(力矩(小时+':00','HH:mm')。格式('HH:mm a'));
推(力矩(小时+':30','HH:mm')。格式('HH:mm a'));
});
返回次数;
}
$('.inputmask').inputmask();
$('.inputmask')。自动完成({
来源:generateTime()
});

UPD:

可能是解决方案的起点:如果我将添加属性“自动取消掩码”:trueAutoComplete将仅在“小时”内工作-直到掩码中的“:”为止的第一个符号


这里的问题是,
输入的值正在从
输入掩码
传递到
自动完成

  • 输入值时检查
    输入的值

    function generateTime(){
    var时间=[];
    数组(24).join(',').split(',').forEach(函数(\ux,索引){
    var小时=指数;
    如果(小时<10){
    小时='0'+小时;
    }
    推(力矩(小时+':00','HH:mm')。格式('HH:mm a'));
    推(力矩(小时+':30','HH:mm')。格式('HH:mm a'));
    });
    返回次数;
    }
    $('.inputmask').inputmask();
    $('.inputmask')。自动完成({
    来源:generateTime()
    });
    $(“#按钮”)。单击(函数(){
    console.log($('input').val())
    });
    
    
    
    Get
    我在这里看到的问题是,输入中的值与源中的值不匹配。如果输入掩码允许在字段有焦点时该值不为
    hh:mm xm
    ,我认为它将按预期工作。我们必须调查。