2010-10-25 62 views
1


所以我的工作,內置的模板功能的文件系統在一個頁面上,您將創建「標籤」使用jQuery模板標記您的模板:jQuery的模板 - 反向模板

${RestaurantName} 
${ContactName} 

然後在文檔頁面上選擇要使用的模板,然後將標籤轉換爲HTML標記。文檔頁面使用CKEditor進行WYSIWYG編輯。現在我有這樣,當模板被渲染它看起來像:

<span class="RestaurantName">Ruby Tuesdays</span> 
<span class="ContactName">Bob Smith</span> 

的想法是之前我發的文件回數據庫來保存我想我的背轉換到這樣的模板標籤如果網站上的數據在其他地方更新,那麼當頁面再次呈現時,它也會被更新。

任何幫助或指示我如何能做到這一點將是一個巨大的幫助。謝謝!

+0

怎麼樣的數據? – 2010-10-25 14:50:56

+0

不確定你的意思是... – whobutsb 2010-10-25 15:25:36

回答

0

考慮從DOM獲取數據而不是「反向模板」可能更容易。查看$.link()(jQuery 1.4.3)或使用jeditable插件即時更新元素數據。

+0

謝謝你的回覆。我不認爲jeditable在這種情況下會有所幫助,因爲它是一個textarea。但是我會查找$ .link()方法! – whobutsb 2010-10-25 15:25:03

+0

另外,您可以嘗試使用ID屬性來渲染模板中的項目,而不是使用CLASS屬性。使用ID,您可以調用像$('#id')。val()這樣的確切元素來獲取值。 – Silkster 2010-11-02 15:56:20

0

通過對StackOverflow的聊天室,我是能夠弄清楚如何上面的文字轉換成一些幫助:發送給服務器之前

var editorText = ckeditor.ckeditorGet().getData(), temp = $('<div />').append(editorText); 

$.each(templateTags, function(name, val){ 
    temp.find('span.'+name).after('{{html '+name+'}}').remove(); 
}); 

console.log(temp.html());