Struts2 : Comment faire pour afficher une info-bulle pour chaque option de liste déroulante dans une balise select?
J'ai cette struts2 balise select où les options sont une liste d'objets Item.
Disons que le Point de bean java de la classe a, les 3 suivants propriétés: itemId, itemLabel, itemDescription
.
Ma balise select regarde aime ceci:
<s:select headerKey=""
headerValue="Select Item"
list="myModel.itemsList"
listKey="itemId"
listValue="itemLabel"
name="selectedItem" />
Je voudrais afficher une info-bulle pour chaque option dans le menu déroulant chaque fois que l'utilisateur les aspirateurs de plus de cette option. Le texte pour remplir l'info-bulle est stocké dans le itemDescription
propriété de mon java bean classe
Je sais que vous pouvez donner un tooptip à la balise select, mais ce n'est pas ce dont j'ai besoin, car chaque option/item a une description différente.
Actuellement, j'ai un code javascript personnalisé info-bulle et je voudrais utiliser cette fonction, si possible. C'est la façon dont je voudrais utiliser la fonction si les articles sont listées dans un tableau:
<td>
<span class="tooltip" onmouseout="tooltip.hide();"
onmouseover="tooltip.show('<s:property value="item.description" />');">
<s:property value="item.label" />
</span>
</td>
Quelqu'un sait quelle serait la meilleure solution pour montrer la description
dans une info-bulle à chaque fois que l'utilisateur passe sur une option?
OriginalL'auteur Johnny | 2011-08-04
Vous devez vous connecter pour publier un commentaire.
Il y a un certain nombre de façons de faire ce que vous voulez. La manière la plus rapide pour moi serait juste l'écriture de code html:
Ci-dessus utilise le html5, l'attribut title, la bonne chose à propos de ceci est que vous obtenez une info-bulle dans la plupart des navigateurs modernes sans javascript.
Remplacer: "valueToReturn", "info-bulle" et "itemInListToShow" par le ognl expressions pour les valeurs de "collectionOfSomething"
Une autre façon de résoudre ce serait avec jQuery (toute bibliothèque JS ferait) et serait quelque chose comme ça.
1) Mettre une liste html sur la page avec l'outil de trucs mais en forme avec CSS, de sorte qu'il n'est pas visible.
2) Utiliser jQuery (ou JS bibliothèque de préférence) pour lier une souris au-dessus d'événement pour chaque élément dans la liste déroulante, qui va montrer le bout de l'outil à partir de la même indice dans la liste cachée.
Hey, merci beaucoup de Quaternions. J'ai choisi la première mise en œuvre avec le html et le titre peuplée.
OriginalL'auteur Quaternion
Je vous suggère d'utiliser ivre, http://onehackoranother.com/projects/jquery/tipsy/ est la meilleure solution que j'ai trouvé, je l'utilise trop.
Déclarer les chemins .js et .les fichiers css
Et la dernière chose, mettez votre choisir entre cette durée:
L'attribut de classe dans cette période est pour l'info-bulle de l'alignement, très étrange, mais ça marche inversée. Pas un gros problème, si vous avez besoin d'aligner vers le nord, il suffit d'écrire au sud.
item.description
propriété?+1 n'a Jamais regardé à peu pompette avant, c'est cool!
OriginalL'auteur Denees
À l'aide de jQuery, il peut être facilement résolu
Appeler la fonction suivante dans l'interface utilisateur sur onmouseoverbutton événement
fonction addTitleAttributes(valeur){
}
Où la valeur transmise peut être l'id du bouton select
J'obtiens l'erreur:- erreur de Syntaxe, non reconnu expression: #[objet] de l'option de la solution de ce??
OriginalL'auteur user1846546