XDSoft DateTimePicker - 禁用手动编辑

时间:2015-11-12 20:55:26

标签: javascript html5 jquery-plugins

我正在使用xdsoft datetimepicker jQuery插件。但是,它正确地防止了错误和手动输入;在选择了日期并且输入元素填充了值之后 - 您可以编辑该值。我的问题是,有没有人知道如何在不使用Source(publisher).map { cmd => println("****************** Pick up message" + cmd) val cmdAst = cmd.toString.parseJson cmdAst.convertTo[FormAdded] if (cmdAst.convertTo[FormAdded].toLocation.toString().equalsIgnoreCase("Main")) { (Sink.actorSubscriber(EventActor.props) } else (Sink.actorSubscriber(ProcessorActor.props)} 属性的情况下阻止此行为,因为这会阻止datetimepicker完全工作?

我已经尝试了readonly属性以及绑定到按键事件和readonly - 两者都没有效果。

2 个答案:

答案 0 :(得分:0)

好的,所以我想出了这个问题。 API实际上支持onChangeDateTime函数回调。您可以处理此问题,当输入元素失去焦点时,如果mindate属性应该是今天,则可以确保日期正确。

我的角度指令中有以下内容:

            var ensureDate = (dp, input) => {
                var attr = element.attr("mindate");
                if (attr && attr == '0') {
                    var date = new Date();
                    date.setHours(0, 0, 0, 0);
                    var now = moment(date);
                    var val = moment(Date.parse(input.val()));

                    if (val.isBefore(now)) {
                        element.val(now.format("M/D/YYYY HH:mm"));
                    }
                }
            }

            if (type) {
                element.datetimepicker({
                    format: 'm/d/Y H:i',
                    formatDate: 'm/d/Y',
                    minDate: attributes.mindate,
                    maxDate: attributes.maxdate,
                    mask: '23:00',
                    defaultTime: '00:00',
                    id: attributes.id + '-picker',
                    onChangeDateTime: ensureDate
                });
            } else {
                element.datetimepicker({
                    timepicker: false,
                    format: 'm/d/Y',
                    formatDate: 'm/d/Y',
                    minDate: attributes.mindate,
                    maxDate: attributes.maxdate,
                    closeOnDateSelect: true,
                    id: attributes.id + '-picker',
                    onChangeDateTime: ensureDate
                });
            }

答案 1 :(得分:-3)

你应该在jquery.datetimepicker.full.min.js

中找到这一行
a.is("[readonly]")&&x.push("xdsoft_disabled")

您必须将类名xdsoft_disabled更改为任何其他类名。

a.is("[readonly]")&&x.push("xdsoft_disabledi")

然后转到输入,并添加readonly attr。这对我行得通! :)

抱歉我的英文