2009-06-10 7 views
3

J'ai un petit problème J'essaie d'utiliser l'éditeur de texte riche MartkItUp JQuery sur le composant textarea JSF. Ma forme ressemble à ceci:Impossible de lire l'ID sur les composants JSF

<h:form id="comment"> 
    <h:inputTextarea id="commentBody" cols="10" rows="10" value="#{postComment.commentBody}" required="true" requiredMessage="Comment Body is reqguired" > 
     <f:validateLength maximum="500" minimum="2" /> 
    </h:inputTextarea> 
       <%-- more of the form... %--> 

Le problème est que sur la sortie, il me donne l'id pour textarea comme ça

id="comment:commentBody" 

Lorsque je tente de JQuery pour indiquer qu'il ne se passe rien.

$('#comment:commentBody').markItUp(mySettings); 

J'avais une zone de texte simple auparavant, et il n'y avait pas de problème. Maintenant, j'en ai beaucoup.

Comment puis-je signaler à id en JQuery, thats ressemble commentaire: commentBody

P.S: Je sais que je peux pointer vers cette zone de texte par $ ('textarea') markItUp (MySettings);. cependant je cherche la solution pour pointer vers la zone de texte spécifique par son identification.

Répondre

12

Essayez cela, $('#comment\\:commentBody'), pour la version JQuery 1.1.3 ou plus.

+0

Ça a bien fonctionné. Merci – Dmitris

1

essayez ceci:

$("textarea[id$='commentBody']").markItUp(mySettings); 

cela sélectionner la zone de texte ayant ID se terminant avec commentBody.

pour sélectionner le contrôle avec l'ID commençant par chaîne particulière $ remplacer avec ^

+0

Vous avez obtenu une erreur lorsque vous essayiez d'utiliser votre méthode. Mais de toute façon, merci d'essayer d'aider – Dmitris

1

Vous pouvez lire sur les ID JSF here, mais dans ce cas, vous trouverez également la h: formeprependId attribut utile.

+0

Travail exemplaire. +1 –

Questions connexes