2013-05-20 47 views
0

我有一個JSF頁面,我試圖將特定段落中的文本與一組textarea s的內容聯繫起來。當使用Javascript/jQuery觸發事件時,textarea呈現

獲取內容改變時,一個textarea變化是使用onchangeonkeyup事件污垢簡單:

onchange="$('dynamicParagraphId').text($(this).val());" 

不幸的是,我遇到了一些麻煩初始化段落,使他們的文本textarea s比當頁面最初加載。

由於頁面是如何實現的,編輯底層HTML是非常困難的;我不確定如何實現一個明顯的解決方案,如加載頁面時觸發的腳本,因爲要獲取textarea的ID,我需要一些實際的工作。有什麼方法可以將Javascript/jQuery代碼插入到textarea定義中,這會在頁面加載時觸發,以便我可以利用this對象,而不必計算出textarea ID?有沒有我可以利用的jQuery的一些功能,這讓我需要知道ID?

+2

沒有。你必須知道一些關於textarea的選擇,比如它的父,兄弟,它是id或class,它是textarea特有的任何屬性,等等。 –

+0

你試過'$('textarea')' ?然後,您將在頁面上擁有所有textareas,並可以從那裏開始... – migg

+0

您可以爲我們提供一個簡短的樣本來看看嗎? – origin1tech

回答

0

如果你知道有多少文本域有,哪些是你想要的(即頁面上的5號),你可以很容易地爲所有文字區域查詢:

document.getElementsByTagName("textarea"); 

,並選擇您想要的。另一種解決方案是將控制交給JS,並在客戶端渲染textarea。 http://jsfiddle.net/FExQy/

+0

好的,所以我可以給所有的textareas我想要這樣做同一個班級。但是接下來的問題就變成了,我如何才能找到我想要將textarea綁定到的段落的ID?有沒有辦法通配這個類 - 也就是說,給每個textarea一個「綁到段落[PARAGRAPH_ID]」的類,然後讓每個textarea開始「綁定到段落」的類? – BlairHippo

+0

編號我會設置一個數據屬性,並從那裏拉'然後你可以使用'$('textarea [data-paragraph]')'獲得所有textarea它們與段落和'.data('paragraph')'相關聯,以獲取爲特定值存儲的值 –

1

觸發的keyup事件的所有文字區域,但你也許可以想出一個更具體的選擇:

$(document).ready(function(){ 
    $("textarea").keyup(); 
}); 

或者,如果你只能通過行內標記附加功能由於某種原因,你可以將其添加到<body>

<body onload='$("textarea").keyup()'> 
相關問題