Keith Wood datepicker更改功能无法正常工作

时间:2017-10-25 10:10:31

标签: jquery

一些简单的代码;

<form  action="#" method="post">       
    <div  id='datepicker'>
      <label for="start_date">Start of cover</label>
      <input readonly required="required" type='text'  name="start-date" id="start-date" value=""/>
    </div>
    <input  name="bind" id ="get-bind" type="submit" value="submit"/>
  </form>

input#start-date拥有Keith Wood的datepick jQuery扩展。工作良好。

但它不会触发更改事件,因此此代码的第二部分(都包含在$(document).ready中不起作用;

$('#get-bind').attr("disabled", true);

$('#start-date').change(function() {
     window.alert ("Changed!");
    $('#get-bind').attr("disabled", false);
});

我可以在调试器中看到更改函数已正确绑定,只是日期选择器不会触发它,即使值实际发生了变化。

有一个小问题,即datepicker似乎删除了日期字段的必需属性,即使该属性仍然存在于这样的代码中;

<input readonly required name="start-date" id="start-date" value="" class="is-datepick" type="text">

1 个答案:

答案 0 :(得分:0)

答案(与jQuery的Datepicker相同的是,目标字段的事件被忽略,因此您必须使用datepicker本身内的事件。

$('#start-date').datepick({

    onClose: function() {
        $('#get-bind').attr("disabled", false);
    }
});

更有帮助,我需要检查是否选择了日期,因为即使未选择日期,onClose也会触发,我这样做了;

 onClose: function() {
        if ($('#start-date').val()) {
            $('#get-bind').attr("disabled", false);
        }

    }

因此,如果未选择日期,则提交按钮将保持禁用状态。