2016-01-09 47 views
3

我有一個$('.textarea').val()在提交時獲取所述textarea的值,將其插入Mongo.Collection,然後在正文中通過{{#each}}{{/each}}顯示它。get .html()of {{#each}}

文本插入之前到集合,然後返回&再次發表,我有一個正則表達式設置了<img src='said link'>

我的問題,以取代所有圖片鏈接的是,.VAL()不帶標籤的工作,只有.html.text這樣做,我不能用它來獲取textarea的值。有沒有什麼巧妙的方法可以解決這個問題(使用.html替換.val()?也許是一個身體上的偵聽器,用於在文本已經提交後用標籤替換所有的鏈接,在這種情況下,我將如何去關於將其設置爲監聽所有文字變化

編輯:

更確切地說,是有對由{{#each}} 不斷變化和輸出值執行

$('.messages').html($('.messages).html().replace(this, 'that')) 

方式從集合中返回後有沒有辦法引用每條消息而不是整個?

+0

如果你這樣做:var tempHTML = $('。messages).html(); tempHTML = tempHTML.replace('this','that'); $(」消息)。HTML(tempHTML)'? –

+0

不,因爲我需要引用來自{{#each}} {{> message}} {{#each}}的每條單獨消息,然後將其替換。如果我提到所有的消息,它會把它們全部弄亂。問題是我不知道如何參考每個人的味精的html – Kotz

+0

確實會是一團糟,現在代碼如何改爲https://jsfiddle.net/Mi_Creativity/L58ukj6j/ –

回答

0

如果我理解正確,您試圖用圖像替換文本中的所有來源。這會幫助你:

http://forum.jquery.com/topic/replacing-text-links-with-images

此外,閱讀jQuery的文檔的這一部分:

http://api.jquery.com/attr/

我認爲你是在正確的軌道上:改變的.html()應工作。

+0

是的,但是我沒有得到如何編輯.html(),因爲它不是靜態的。 ($。'textOutput')。html($('。textOutput')。html()。replace(textOutput,'editedOutput'));將不起作用,因爲輸出被拆分成消息並且每個消息都是唯一的,並且不斷添加新的消息。意思是說,如果我這樣做,它會毀掉所有的信息 – Kotz