【问题标题】:Angular strap datepicker dynamic startDate/endDate角带日期选择器动态 startDate/endDate
【发布时间】:2013-08-07 02:40:22
【问题描述】:

我有一个场景,我有一个“父”日期选择器和一堆“子”日期选择器,都在同一个视图中。我需要将子选择器更新为受父母日期的限制,并且父选择器需要受最高子日期的约束。我试过在儿童选择器上设置这个:

//child pseudo-code
<input data-date-end-date="parent.target_date" data-ng-model="child.target_date bs-datepicker />

//parent pseudo-code
<input data-date-start-date="highestChild.target_date" data-ng-model="child.target_date bs-datepicker />

但我只是得到一个没有选择任何东西的选择器。

从本质上讲,一个孩子不应该能够通过它的父母被淘汰,并且父母不能被拉得比它的最高孩子更近,但他们都需要能够更新。

【问题讨论】:

    标签: dynamic angularjs datepicker angular-strap


    【解决方案1】:

    您的代码的部分问题是 Angular-Strap 不使用data-date-* 属性,它使用data-*,不幸的是,目前没有很好的记录(如果有的话)。

    另一个问题是start-dateend-date 属性通常可以通过输入静态日期(例如data-date-start-date="2013-09-03")来正常工作(仅使用不带Angular-Strap 的Bootstrap 日期选择器时)。 Angular-Strap 的工作方式与许多其他 Angular 指令相同,它允许您像没有 Angular 时一样使用属性,但允许您通过使用双花括号来使用 Angular 表达式。

    例如ng-href="http://www.waddup.com/items/{{ item.number }}"

    你的伪代码最终应该是这样的:

    //child pseudo-code
    <input
        data-end-date="{{ parent.target_date}}"
        data-ng-model="child.target_date"
        bs-datepicker
    />
    
    //parent pseudo-code
    <input
        data-start-date="{{ highestChild.target_date }}"
        data-ng-model="parent.target_date"
        bs-datepicker
    />
    

    【讨论】:

    • 这是有道理的。我确实尝试过,并且能够使开始和结束日期正常工作。日期选择器似乎对它获取的日期格式很挑剔。 MM/dd/yyy 有效,但 yyyy-MM-dd 无效。这似乎有点奇怪。我不知道它是否与格式的配置设置或日期的传递方式有关。
    • 试试data-format="yyyy-mm-dd" 你可能还需要data-type="string",因为datepicker 喜欢使用JavaScript Date 对象而不是字符串。
    • 成功了。我认为 date-type="string" 是关键所在。所以看起来格式是选择器如何接受输入以及它将如何显示。两者都有一个选择会很好。感谢您的帮助。
    • 嗯,这是 Angular-Strap datepicker 指令的问题。你应该在 Github repo 上发布一个关于这个的新问题。我可能可以修复它,因为我主要了解 Angular 指令并且熟悉这个特定的指令,但我不确定我什么时候有时间。
    • Bleh,那些东西应该放在指令中,但是嘿,如果它有效,它就有效。不过,Angular-Strap 仍然存在问题。如果你不这样做,我最终会为它创建一个问题。很高兴我能帮上忙!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    • 1970-01-01
    • 2021-11-21
    相关资源
    最近更新 更多