2013-09-26 4 views
1

Я включил этот код в файле index.ejsНевозможно использовать функцию JQuery в Ember JS

<script type="text/javascript"> 
    $(window).load(function() 
    { 
     $('#username').glDatePicker(); 
    }); 
</script>  

, но этот JQuery код работает только для идентификаторов на первой странице посадки (логин в данном случае), для остальная часть страниц не работает. Просьба предложить, как заставить его работать и для всех идентификаторов на других страницах.

+0

Вы спрашиваете, как сменить se lector для соответствия другим элементам? –

ответ

2

Событие загрузки jQuery просто однократно, когда загружается окно, и когда это происходит, некоторые шаблоны не присутствуют в dom, потому что ember сохраняет эти шаблоны и просто добавляет в dom, когда вы делаете переход к соответствующему маршруту.

Поскольку ваш glDatePicker предназначен для настройки тега ввода, другими словами, настраиваемого компонента. Я рекомендую вам создать свой собственный класс представления. Это очень просто с угольком:

App.DatePickerView = Ember.TextField.extend({ 
    didInsertElement: function() { 
     this.$().glDatePicker(); 
    } 
}); 

И в шаблоне вы можете использовать:

{{view App.DatePickerView valueBinding=date}} 

Таким образом, каждый новый DatePickerView создан будет использовать JQuery плагин.

Если вы хотите больше синтаксический сахар, вы можете использовать Ember.Handlebars.helper:

Ember.Handlebars.helper('date-picker', App.DatePickerView); 

Таким образом, в шаблонах можно использовать только:

{{date-picker value=date}} 

Это скрипку с этим работает http://jsfiddle.net/marciojunior/3saXK/

Надеюсь, это поможет

+0

Спасибо большое ... это сработало – user2819990

+0

Добро пожаловать. Можете ли вы принять этот ответ? –

Смежные вопросы