2015-04-15 93 views
0

假設我有jQuery代碼,將外部html文件加載到模板。用鬍子填充外部.html文件?

$('#myButton').click(function(){ 
    $('#content').load('file.html'); 
}); 

現在,我想填充file.html文件中的一些字段。那可能嗎?

+0

是的,這是可能的。 – Celeo

+0

請考慮在這裏包含'file.html'的內容(或者至少包含它可能包含的一個很好的代表性示例)。 –

回答

1

這是一個(未經測試的)如何做到這一點的例子。

$('#myButton').click(function() { 

    // load text into a hidden div. 
    $('#hiddenContent').load('file.html', function() { 

    // grab template from hidden div 
    var templateString = $('#hiddenContent').html(); 

    // compile the template string into a template object 
    var compiledTemplate = hogan.compile(templateString); 

    // apply some data to the template 
    var parsedTemplate = compiledTemplate.render({...some data}); 

    // finally, show the parsed template 
    $('#content').html(parsedTemplate); 
    } 
}); 

編輯:附加註釋

理想情況下,你就不會加載file.html到一個DOM元素,因爲它並不需要顯示。只需加載文本。

此外,編譯模板的計算量很大。在生產環境中,應該預編譯這些模板。 Hogan擁有一個名爲Hulk的命令行實用程序,它可以實現這一點。

0

也許這樣的事情?

$('#myButton').click(function() { 
    $('#content').load('file.html', function() { 
    // do something to populate fields created by the loading of file.html 
    } 
});