Ember.view中的日期范围选择器

时间:2013-09-27 16:56:14

标签: ember.js

我正在尝试使用日期范围选择器来嵌入视图。

App.DaterangepickerView = Ember.View.extend({

    tagName: "input",
    attributeBindings: ["start", "end"],
    start: null,
    end: null,


    didInsertElement: function() {
        var self = this;
        this.$().daterangepicker(
               {
                 format: 'YYYY-MM-DD',
                 startDate: '2013-01-01',
                 endDate: '2013-12-31'
               },
               function(start, end) {
                        console.log("Date-range-picker:");
                        self.set('startdate',start.format('DD-MM-YYYY'));
                        self.set('end',end.format('DD-MM-YYYY'));
                        console.log("start: " + self.get('start'));
                        console.log("end: " + self.get('end'));
               }
        )
    },

});

模板:

<script type="text/x-handlebars" data-template-name="daterangepicker">


    {{view App.DaterangepickerView startBinding="start" endBinding="end"}}

    start date: {{start}}
    end date: {{end}}
</script>

控制器:

App.DatatableController = Ember.ArrayController.extend({

    start: "2013-08-07",
    end: "2013-08-09",
});

startBinding和endBinding可能是ember.view的错误参数,但我不知道如何通过contentBinding正确编写。选择器显示并为控制台设置正确的信息,但我需要从那里设置控制器。你做过类似的事吗?

1 个答案:

答案 0 :(得分:2)

您需要使用start的{​​{1}}内容。

从以下网址更新此代码:

startdate

self.set('start',start.format('DD-MM-YYYY')); 

这样你的self.set('startdate',start.format('DD-MM-YYYY')); 绑定就可以了。

最好将当前startstart日期传递给end,因此当您显示选择器时,它将具有所选值:

daterangepicker

最终结果如下:

this.$().daterangepicker(
               {
                 startDate: this.get('start'),
                 endDate: this.get('end')
               }

这是这个工作http://jsfiddle.net/marciojunior/UTV3U/

的示例

我希望它有所帮助