I think you need to create your own view like this:
App.FieldView = Ember.View.extend({ classNames: 'field clearfix'.w(), defaultTemplate: Ember.Handlebars.compile('<div>{{view LabelView}}{{view DataView}}</div>'), label: '', LabelView: Ember.View.extend({ tagName: 'label', attributeBindings: ['for'], 'for': '', textBinding: 'parentView.label', defaultTemplate: Ember.Handlebars.compile('{{text}}') }), DataView: null, willInsertElement: function() { this._super(); var childViews = this.get('childViews'); var labelView = childViews[0]; var dataView = childViews[1]; labelView.set('for', dataView.$().attr('id')); } });
Then you can use it for a text field
MyApp.MyField= MyApp.FieldView.extend({ label: 'Label Text', DataView : Ember.TextField.extend({ valueBinding: 'MyApp.pageController.myFieldData' }) });
or how is it for the dropdown
MyApp.MyField= MyApp.FieldView.extend({ label: 'Label Text', DataView : Ember.Select.extend({ ... }) });
Hope this helps.
source share