微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery-plugins – Ember数据日期绑定

我使用的是ember-data,并且有一个内置的日期类型对象.我正在把它连接到日期选择器(建立在Twitter引导程序组件上).问题是我在输入标记中创建了一个日期属性来存储日期对象.日期对象将存储为长字符串.这必须以某种方式解析为日期对象,然后存储到App.store中.我在哪里进行此转换.这就是我到目前为止所做的.
App.DatePicker = Ember.View.extend({
    classNames: ['ember-text-field','input-small'],tagName: "input",attributeBindings: ['data','value','format','readonly','type','size'],size:"16",type: "text",format:'mm/dd/yyyy',value:function(){
        var date = this.get('data');
        if(date)
            return date.format(this.get('format'));
        else
            return "";
    }.property('data'),data:null,didInsertElement:function(){
        this.$().datepicker({
            format:this.get(this.get('format'))
        }).on('changeDate',function(ev){
            console.log(ev.date);
            console.log(ev.target);
            ev.target.setAttribute('data',ev.date);
         });
    }
});

在这样的视图模板中使用它

{{view App.DatePicker dataBinding="staff.emp_edate" format="mm/dd/yyyy"}}

更改日期时设置日期属性时,日期属性将更改,绑定到staff.emp_edate.不幸的是,staff.emp_edata没有改变.

任何指针都会有很大的帮助.

解决方法

请尝试以下方法

小提琴:http://jsfiddle.net/ppanagi/9rCBL/

App.DatePicker = Ember.View.extend({

  // ... leave the rest as is

  didInsertElement: function(){
     var self = this;

     var onChangeDate = function(ev) {
        self.set('data',ev.date);
     };
     var format = this.get('format');

     this.$().datepicker({ format: format })
         .on('changeDate',onChangeDate);
  }
});

原文地址:https://www.jb51.cc/jquery/241577.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐