gpt4 book ai didi

javascript - 日期时间范围指令字段未显示任何值

转载 作者:行者123 更新时间:2023-11-28 19:22:16 26 4
gpt4 key购买 nike

我在 AngularJS 中创建了一个日期时间范围指令。我正在使用 dangrossman/bootstrap-daterangepicker 用于获取日期时间范围日历的插件。该指令工作正常,模型值也发生了变化,但 View 没有更新。

      element.data('daterangepicker').setStartDate(val.start); 
element.data('daterangepicker').setEndDate(val.end);

任何人都可以告诉我一些解决方案吗?

下面给出了我创建的指令

<强> Plunker

脚本

app.directive('dateTimePicker', function($parse, $compile) {
return {
restrict: "E",
replace: true,
transclude: false,
compile: function(element, attrs) {
var modelAccessor = $parse(attrs.ngModel);

var html = "<form>" +
"<div class='form-group'>" +
"<div class='input-group'>" +
"<span class='input-group-addon'>" +
"<i class='fa fa-calendar'></i>" +
"</span>" +
"<input type='text' name='reservation' id='reservationtime' class='form-control' value=''/>" +
"</div>" +
"</div>" +
"</form>";

var newElem = $(html);

element.replaceWith(newElem);

return function(scope, element, attrs, controller) {

element.on('apply.daterangepicker', function(ev, picker)
{
var date = {};

date.start = picker.startDate;
date.end = picker.endDate;
scope.$apply(function (scope) {
modelAccessor.assign(scope, date);
});
});

element.daterangepicker({
timePicker: true,
timePickerIncrement: 30,
format: 'MM/DD/YYYY h:mm A'
});

scope.$watch(modelAccessor, function(val)
{
console.log(val);
if(!_.isUndefined(val))
{
element.data('daterangepicker').setStartDate(val.start);
element.data('daterangepicker').setEndDate(val.end);
}
});

};

}
};
});

html

  <date-time-picker ng-model="dateTimeRange"></date-time-picker>

最佳答案

updateInputText: function() {
if (this.element.is('input') && !this.singleDatePicker) {
this.element.val(this.startDate.format(this.format) + this.separator + this.endDate.format(this.format));
} else if (this.element.is('input')) {
this.element.val(this.endDate.format(this.format));
}
}

来自 daterangepicker.js 的这段代码负责更新 View 。

在 dateTimePicker 指令中,模板的根元素(即表单元素)使用 element.daterangepicker 转换为日期范围小部件,其中应转换模板内的输入元素。

element.find('input').daterangepicker({}) 为我工作。

关于javascript - 日期时间范围指令字段未显示任何值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28625938/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com