Jquery datepicker更改事件触发器和输入的默认更改事件

Kon*_*hev 12 javascript jquery datepicker jquery-ui-datepicker

我有datepicker

  <input type='text' class='inp'>  
<script>
   $('.inp').datepicker();

  $(".inp").on("change",function (){ 
   console.log('inp changed');
  });
</script>
Run Code Online (Sandbox Code Playgroud)

当我第一次更改'.inp'时,手动输入一个值,然后立即点击datepicker的打开日历.我得到两个'更改'事件监听器.首先从手动更改,然后从datepicker更改.我怎么能避免这个?

Par*_*mar 12

设置输入readOnly,它将帮助您仅通过图标更改字段的值.

<input type='text' class='inp' readOnly />
Run Code Online (Sandbox Code Playgroud)

然后onSelect用来获取所选日期,如下所示:

$(function() {
    $(".inp").datepicker({
        onSelect: function(dateText, inst) {
            // alert(dateText);
        }
    });
});
Run Code Online (Sandbox Code Playgroud)


brs*_*o05 6

尝试使用onSelect函数,如:

$(function() {
    $( ".datepicker" ).datepicker({
        onSelect: function() {
        //your code here
    }});
Run Code Online (Sandbox Code Playgroud)

当他们从日历中选择日期而非他们正在键入时,将触发此操作.