随时日期选择器添加一个清除按钮

AnyTime datepicker add a clear button

本文关键字:一个 清除 按钮 日期 选择器 添加      更新时间:2023-09-26

我是一个新的js,我试图弄清楚是否有一种方法来修改任何时间日期picker内的现有按钮或添加一个新的,将从字段中清除日期。

我认为这是一个可能的解决方案,但不知道在哪里插入它到AnyTime .js,以防止任何时间日期选择器打破:

}).keyup(function(e) {
    if(e.keyCode == 8 || e.keyCode == 46) {
        $.datepicker._clearDate(this);
    }
});

好的,所以我有下面的工作在Chrome/firefox,但不是在ie9。在ie9中,我点击"清除"按钮,它会弹出日期选择器。如果我在IE中点击它两次,它将清除字段。我怎样才能使它与IE9兼容:

<tr>
                        <td>
                            <label class="width100 right displayInlineBlock padBottom5">Received:
                                <input class="width70 calendarBackground" type="text" maxlength="4000" name="received" id="received" value="<%=report.getFormattedReceived()%>" />
                                <script>
                                    AnyTime.picker( "received", { format: "%d %b %y", firstDOW: 1 } );
                                </script>
                                <input type="button" id="receivedClear" value="Clear" />
                                <script>
                                    $("#receivedClear").click( function(e) {
                                    $("#received").val("").change(); } );
                                </script>
                            </label>
                        </td>
                    </tr>

谢谢!

问题是,选择器在日期字段有焦点时出现,并且它不断更新字段以显示当前选择的日期(当为空时默认为当前日期)。因此,调用change()来打开选择器,按照设计,也应该用当前日期/时间填充字段。

如果您想要清除字段,您应该只调用val('')而不打开选择器。如果您想要显示选择器,那么您应该要么不清除字段,要么愿意接受选择器将字段重置为当前时间。

我正在开发一个新的选择器,它不会自动更新字段,直到选择器被取消,但距离发布还有好几个月的时间。