2013-09-26 73 views
1

我包括在此代碼index.ejs文件無法使用jquery功能燼JS

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

但這個jQuery代碼是第一目標網頁上僅工作了的ID(登錄在這種情況下),對其餘的頁面不工作。請建議如何使其適用於其他頁面中的所有ID。

+0

你問的如何改變se要與其他元素相匹配? –

回答

2

jQuery加載事件只是一次觸發,當窗口加載時,以及何時發生,某些模板不存在於dom中,因爲ember保存了這些模板,並且只是在您製作時附加在dom中過渡到相應的路線。

由於您的glDatePicker是自定義輸入標籤,換句話說是一個自定義組件。我建議你創建你自己的視圖類。這是很容易與Ember:

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

不客氣。你能接受這個答案嗎? –