2012-07-10 33 views
6

Tôi đang sử dụng dữ liệu ember và có đối tượng kiểu ngày tháng sẵn có. Tôi hooking này lên đến bộ chọn ngày (được xây dựng trên các thành phần bootstrap Twitter). Vấn đề là tôi đã tạo một thuộc tính date trong thẻ đầu vào để lưu trữ đối tượng ngày tháng. Đối tượng ngày tháng nhận được lưu trữ dưới dạng chuỗi dài. Điều này phải bằng cách nào đó được phân tích cú pháp thành một đối tượng ngày và sau đó được lưu trữ vào App.store. Tôi làm chuyển đổi này ở đâu. Đây là những gì tôi đã làm cho đến nay.Ember Ngày gắn kết dữ liệu

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); 
     }); 
    } 
}); 

Tôi đang sử dụng nó trong giao diện mẫu như thế này

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

Khi thuộc tính ngày được thiết lập khi ngày được thay đổi, thuộc tính ngày là nhận được thay đổi mà bị ràng buộc với các staff.emp_edate . Thật không may là staff.emp_edata không bị thay đổi.

Bất kỳ con trỏ nào cũng sẽ trợ giúp rất nhiều.

Trả lời

8

Hãy thử như sau:

Fiddle: 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); 
    } 
}); 
+0

Cung cấp cho các lỗi Lỗi Loại: 'undefined' không phải là một chức năng (đánh giá 'self.set (' dữ liệu', ev. date) ') –

+0

nếu bạn có thể fiddle nó tôi có thể nhìn thấy những gì sai –

+0

http://jsfiddle.net/P8usP/1/ –

Các vấn đề liên quan