我从asp.net mvc控制器获取日期时间值为"2014-08-31T00:00:00Z".当我将此值绑定到我的angular-ui datepicker控件时,它的状态显示为ng-invalid ng-invalid-date.
我也从mvc控制器获取日期格式,所以我在我的html中绑定日期格式.
当我在第1807行调试ui-bootstrap-tpls.js(最新版本)文件时
它总是以未定义的方式出现.我尝试了很多选择,但我无法成功.:(
javascript没有正确地将角度ui datepicker日期转换为UTC
所以请提出一些想法并建议我如何解决这个问题.
谢谢和问候,N.Murali Krishna.
我遇到了一个问题,即尽管输入框中有输入,ng-message仍会闪烁"必需"的错误信息.会发生什么事情,它会非常简短地闪烁错误信息:"这个字段是必需的(所有这些都是为了让它更容易看到它闪烁!)"在屏幕上它立即消失之前.对不起,我想让消息在消失之前更容易看到.
这是我的plunker链接.请输入任何输入,然后单击页面上的其他位置,以便输入字段失去焦点. 请注意,因为红色的错误信息会短暂闪烁然后消失.如果您没有快速注意到消息闪烁,则必须重新加载页面才能再次看到它.
为什么会这样?我相信它与ui-date有关,因为我没有ui-date就无法复制问题.
这是代码的片段:
<form name="reportform" ng-submit="process_form()" novalidate >
<input name="startdate" placeholder="Enter a start date" ui-date ng-model="startdatevalue" required>
<ng-messages ng-if='reportform.startdate.$touched' for="reportform.startdate.$error">
<ng-message when="required" class="error-message">
THIS FIELD IS REQUIRED (ALL IN CAPS TO MAKE IT EASIER TO SEE IT FLASH BY!)
</ng-message>
</ng-messages>
<button ng-disabled="reportform.$invalid" type="submit">
Submit Query
</button>
</form>
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助.
我正在使用ui-date(https://github.com/angular-ui/ui-date)(这是一个扩展jquery ui日期选择器的angular指令)来创建一个弹出日期选择器,当点击一个输入时上.问题是,它位于$ modal窗口内(来自angular-ui).当您单击输入框时,日期选择器的div将附加到底部,就在结束标记的上方,即包含$ modal的div的OUTSIDE.因此,当$ modal窗口关闭(并因此从DOM中删除)时,日期选择器的div保持不变.
我找不到任何关于jquery或ui-date的文档,它们允许将div附加到另一个元素,它似乎是内置的.
我不确定如何解决这个问题.
日期选择期间的代码
<body>
<div class="modal"> <!-- This is the modal div which will be created and destroyed -->
<input type="text" class="input-calendar" id="reason_date" name="reason_date" ng-model="effectiveDate" ui-date="DateOptions" date-input-format date-validation required="required" autocomplete="off" />
</div>
<!-- This is where the date-picker div is appended -->
<div class="date-picker">
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
模态关闭后
<body>
<!-- Modal div has been destroyed upon close -->
<!-- Date picker div was outside of modal div, so it remains -->
<div class="date-picker">
</div> …Run Code Online (Sandbox Code Playgroud) 我ui.bootstrap.datepickerPopup在 内部的过滤器标头模板中使用ui.grid。这让我可以按日期过滤行。我的网格菜单内还有一个用于切换的按钮grid.options.enableFiltering。
由于 的对齐问题ui-grid,我有datepicker-append-to-body日期选择器设置为 true。第一次启用过滤时,一切正常。但是,当我禁用过滤并重新启用它时,我会得到重复的日期选择器。
问题是这样的:

我认为问题在于每次启用过滤器时,以下内容div都会附加到 DOM 中,并且在禁用过滤器时永远不会删除。
<div uib-datepicker-popup-wrap=""
ng-model="date"
ng-change="dateSelection(date)"
template-url="uib/template/datepickerPopup/popup.html"
class="ng-pristine ng-untouched ng-valid ng-scope ng-empty ng-valid-date-disabled"
>
<!-- ngIf: isOpen -->
</div>
Run Code Online (Sandbox Code Playgroud)
这是一个简化的plunker: http://plnkr.co/edit/eYZt87j2O6A5xhjHj5ZG
如果我只在其中使用一个日期选择器,我会遇到同样的问题Time Range。
任何想法都将不胜感激!不想使用 jQuery。
angularjs angular-ui-bootstrap angular-ui-grid angular-ui-datepicker