【问题标题】:Input value not updated with JQuery datepicker in Angular 7Angular 7中的JQuery datepicker未更新输入值
【发布时间】:2019-07-11 09:39:07
【问题描述】:

我正在使用 Angular 7 和 JQuery 日期选择器:https://github.com/uxsolutions/bootstrap-datepicker

           <div class="col-lg-2">
              <div class="form-group">
                <div class="input-group">
                  <input class="form-control form-control-lg" data-provide="datepicker" data-date-language="fr" type="text" data-date-format="dd/mm/yyyy" placeholder="From" [(ngModel)]="from" name="from" />
                  <div class="input-group-append">
                    <span class="input-group-text"><i class="fa fa-calendar" aria-hidden="true"></i></span>
                  </div>
                </div>
              </div>
            </div>

但在组件中,我在this.from 中收到的这个值是undefined..

export class SearchBarComponent implements OnInit {
  constructor(
    private router: Router
  ) { }

  search: string;
  from: string;
  to: string;

  ngOnInit() {
  }

  onSubmit() {
    console.log(this.from)
  }
}

我不想使用像 ng-boostrap 或 ngx-boostrap 这样的捆绑软件,因为我不想欺骗导航栏来让它工作。而且我更喜欢控制Boostrap的依赖关系。

请问有没有简单的方法来观察这个输入值的变化?在可能存在的问题中,我没有明确找到这个答案。

【问题讨论】:

  • 我不确定这个引导数据选择器包是否与 Angular 兼容,也许可以尝试其他类似 ngx-bootstrap -> stackblitz.com/edit/ngx-bootstrap-datepicker
  • @Jake11:谢谢,但正如我所说:I do not want to use bundle like ng-boostrap or ngx-boostrap because I do not want to trick with the navbar to get it working. And I prefer to control the dependencies of Boostrap.
  • 我尝试了这个我没有看到的答案并且它正在工作:stackoverflow.com/a/36090026/1699865

标签: jquery angular datepicker


【解决方案1】:

您可以使用changeDate 事件

ngOnInit() {
$('.datepicker').datepicker()
    .on("changeDate", function(date) {
        this.from = date;
    });
 }

more info on events

【讨论】:

  • 非常感谢,但我收到此错误:ERROR TypeError: jquery__WEBPACK_IMPORTED_MODULE_4__(...).datepicker is not a function
  • 确保在 Angular 应用程序之前加载日期选择器
  • 伙计,请参阅本教程以了解错误medium.com/all-is-web/…
【解决方案2】:
$('#data').datepicker({
    onSelect: (dateText: any, object: any) => {
        this.formulario.get('data').setValue(dateText);
    }
});

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-18
  • 2016-12-30
  • 2021-07-18
  • 1970-01-01
  • 2013-06-11
  • 1970-01-01
  • 2016-07-16
相关资源
最近更新 更多