2016-07-14 16 views
1

私はAnger 2プロジェクトで働いており、daterangepicker.jsライブラリを統合して日付範囲の選択ツールをポップアップさせたいと考えています。ここhttp://www.daterangepicker.com/私はanger 2プロジェクトでdaterangepicker jsをどのように使用しますか?

htmlcode前に、あなたがそれを聞いていない場合には、ライブラリにリンクされていますまた、

<script src="./assets/js/daterangepicker.min.js" > </script> 
<link rel="stylesheet" type="text/css" href ="./assets/css/daterangepicker-bs3.min.css"/> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" > 

    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
$('input[name="daterange"]').daterangepicker(); 
    }); 
    </script> 

iがディレクティブを作成

<input type="text" placeholder="Start - End" class="oa-search-height padd" name="daterange" > </div> 

と私のindex.html内

import { Directive, ElementRef, Input, Renderer } from '@angular/Core'; 

    declare var jQuery: any; 
    @Directive({ 
    selector: '[date-range]', 
    host: { 
      '(keyup)': 'dateRangePicker()' 
      } 
     }) 
    export class DateRangeDirective { 
     private element: HTMLElement; 
     private renderer: Renderer; 

     constructor(element: ElementRef, renderer: Renderer) { 
      this.element = element.nativeElement; 
      this.renderer = renderer; 
          } 
      @Input('date-range'); 
      dateRangePicker(){ 
       jQuery(this.element).daterangepicker(); 
           } 

     } 

答えて

1

利用可能なサンプルのカップルは、これらのオプションを参照してください。

  1. https://github.com/onehungrymind/ng2-bootstrap-daterangepicker

  2. https://github.com/simpulton/ng2-daterangepicker

このことができますかどうかを確認します。


EDIT:

app.ts

import { Component } from '@angular/core'; 
import { DateRangePickerDirective } from 'ng2-daterangepicker'; 

@Component({ 
    moduleId: module.id, 
    selector: 'app', 
    template: ` 
    <div class="container"> 
     <div class="jumbotron"> 
     <h2 class="text-center">Date Range Picker</h2> 
     <div class="form-group"> 
      <input daterangepicker 
       (selected)="dateSelected($event)" 
       [options]="pickerOptions" type="submit" 
       class="form-control btn btn-success"/> 
     </div> 
     </div> 
    </div> 
    `, 
    directives: [DateRangePickerDirective], 
    styles: [` 
    .jumbotron { 
     margin-top: 15px; 
     box-shadow: 0px 3px 10px 3px rgba(0,0,0,0.2); 
    } 
    input { cursor: pointer; } 
    `] 
}) 

export class AppComponent { 
    pickerOptions: Object = { 
    'showDropdowns': true, 
    'showWeekNumbers': true, 
    'timePickerIncrement': 5, 
    'autoApply': true, 
    'startDate': '05/28/2016', 
    'endDate': '06/03/2016' 
    }; 

    dateSelected(message) { 
    alert(message); 
    } 
} 

daterangepicker.directive.ts

import {Directive, ElementRef, OnInit, Input, Output, EventEmitter} from '@angular/core'; 

@Directive({ 
    selector: '[daterangepicker]' 
}) 

export class DateRangePickerDirective implements OnInit { 
    @Input() options: Object = {}; 
    @Output() selected: any = new EventEmitter(); 

    constructor(private elementRef: ElementRef) {} 

    ngOnInit() { 
    $(this.elementRef.nativeElement) 
     .daterangepicker(this.options, this.dateCallback.bind(this)); 
    } 

    dateCallback(start, end, label) { 
    let message = ` 
     New date range selected: 
     ${start.format('YYYY-MM-DD')} to ${end.format('YYYY-MM-DD')} 
     (predefined range: ${label}) 
    `; 
    this.selected.emit(message); 
    } 
} 
+0

2つのリンクが壊れています。 =/ –

+0

@Fernando最初のリンクが公開されました。ここにコードスニペットも追加されました。 – Sanket

+0

@Sanket NgModuleに追加するのはどうですか? –

関連する問題