Je dois implémenter la fonctionnalité d'info-bulle pour la liste déroulante. De plus, l'info-bulle ne sera pas un texte statique, elle devrait être la valeur sélectionnée de la liste déroulante. Comment puis-je faire cela dans jQuery?Comment ajouter une info-bulle à un menu déroulant/une liste déroulante?
Répondre
J'ai obtenu le soultion:
Juste au cas où vous vouliez savoir comment je l'ai fait: -
jQuery('#myDropDownID').hover(function(e){
var tipX = e.pageX + 12;
var tipY = e.pageY + 12;
jQuery("body").append("<div id='myTooltip' class='portal-tool-tip' style='position: absolute; z-index: 100; display: none;'>" + jQuery("OPTION:selected", this).text() + "</div>");
if(jQuery.browser.msie) var tipWidth = jQuery("#myTooltip").outerWidth(true)
else var tipWidth = jQuery("#myTooltip").width()
jQuery("#myTooltip").width(tipWidth);
jQuery("#myTooltip").css("left", tipX).css("top", tipY).fadeIn("medium");
}, function(){
jQuery("#myTooltip").remove();
}).mousemove(function(e){
var tipX = e.pageX + 12;
var tipY = e.pageY + 12;
var tipWidth = jQuery("#myTooltip").outerWidth(true);
var tipHeight = jQuery("#myTooltip").outerHeight(true);
if(tipX + tipWidth > jQuery(window).scrollLeft() + jQuery(window).width()) tipX = e.pageX - tipWidth;
if(jQuery(window).height()+jQuery(window).scrollTop() < tipY + tipHeight) tipY = e.pageY - tipHeight;
jQuery("#myTooltip").css("left", tipX).css("top", tipY).fadeIn("medium");
});
Voir ici: http://jsbin.com/owoka
Vous pouvez implémenter la liste déroulante dans javascript en tant que div. Une fois que vous faites cela, vous pouvez ajouter les info-bulles en utilisant quelque chose comme: http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/
Quelque chose comme ça?
selectElement.addEventListener('change', function (e) {
selectElement.title = selectElement.value;
});
Alsciende, ce n'est pas ce que je m'attendais. :) L'info-bulle doit être affichée de manière agréable. Le titre affiché par le navigateur ne semble pas bon. Info-bulle: http://dev.mariusilie.net/content/simple-tooltip-jquery-plugin –
Eh bien, je suppose que vous pouvez appeler votre propre tooltip-api au lieu de ".title". – Alsciende
JAVASCRIPT ET JQUERY.
Vous étiez précis sur infobulle pour que la valeur sélectionnée pour toutes les listes déroulantes dans la page à la fois ..
<script language="javascript">
function dropDwnToolTips() {
var drpdwnlst = document.getElementsByTagName("Select");
for(i=0;i<drpdwnlst.length;i++){
drpdwnlst[i].title = drpdwnlst[i].options[drpdwnlst[i].selectedIndex].text;
}
}
</script>
Dans le code ci-dessous j'ajoute infobulle pour toutes les valeurs dans le menu déroulant et comme la valeur sélectionnée. Ceci dans le script java aussi bien et cela aussi pour toutes les listes déroulantes dans la page à la fois.
<script language="javascript">
function dropDwnToolTips() {
var drpdwnlst = document.getElementsByTagName("Select");
for(i=0;i<drpdwnlst.length;i++){
for(j=0;j<drpdwnlst[i].length;j++){
drpdwnlst[i][j].title = drpdwnlst[i].options[j].text;
}
drpdwnlst[i].title = drpdwnlst[i].options[drpdwnlst[i].selectedIndex].text;
}
}
</script>
pour l'une ou l'autre fonction, Procédez comme suit pour la déclencher.
<body onload="dropDwnToolTips()">
...
</body>
ou,
<script language="javascript">
window.onload=function() {
... script code goes here...
}
ou si vous utilisez dojo,
<script language="javascript">
dojo.ready(function() {
... script code goes here...
});
ou
jQuery fait tout le script encore plus simple ..
$(document).ready(function() {
$("select").each(function() {
var s = this;
for (i = 0; i < s.length; i++)
s.options[i].title = s.options[i].text;
if (s.selectedIndex > -1)
s.onmousemove = function() { s.title = s.options[s.selectedIndex].text; };
});
});
Je vous suggère d'utiliser la fonction sur l'événement onChange de la liste déroulante au lieu de l'événement document prêt.
- 1. Comment ajouter une zone de liste déroulante à un DataGrid?
- 2. Ajouter la validation à une liste déroulante
- 3. comment ajouter une zone de liste déroulante
- 4. Ajouter l'option à la liste déroulante
- 5. Avoir une liste déroulante sur un menu déroulant?
- 6. Comment modifier une liste déroulante javascript
- 7. Envoyer un onclick à une liste déroulante
- 8. Ajouter des données à une zone de liste à partir d'une liste déroulante
- 9. html; comment ajouter une sélection déroulante à un formulaire
- 10. comment ajouter dynamiquement une valeur à une liste déroulante dans les rails
- 11. Comment ajouter une condition à un menu contextuel WPF?
- 12. Ajouter plusieurs options statiques à une liste déroulante dans ASP.NETMVC
- 13. comment lier une liste à une liste déroulante? (Winforms)
- 14. comment transformer une liste déroulante à un bouton avec la liste déroulante pop-up
- 15. comment ajouter de la valeur à l'élément de liste déroulante
- 16. Comment redimensionner la liste déroulante d'une liste déroulante avec la zone de liste déroulante?
- 17. Comment ajouter un menu à MapActivity?
- 18. comment ajouter un "S'il vous plaît sélectionner" élément à une liste déroulante dans asp.net mvc
- 19. Comment ajouter un menu contextuel à NSOutlineView (ie menu contextuel)
- 20. Ajouter une entrée vide à la liste déroulante liée à la liste des entités
- 21. javascript: liste déroulante dans le formulaire avec un bouton pour ajouter une deuxième copie de la liste déroulante
- 22. Comment puis-je ajouter une extension déroulante à mon menu existant?
- 23. jQuery Dropdownchecklist infobulle
- 24. Comment ajouter une liste déroulante d'éléments à une boîte aux lettres SWT?
- 25. Comment ajouter une valeur vide ou personnalisée à une liste déroulante liée?
- 26. Ajouter l'attribut "selected" à une option déroulante avec jQuery
- 27. ToolTipping une liste déroulante
- 28. comment ajouter une nouvelle valeur à une liste déroulante dans Rails
- 29. ajouter des éléments à une zone de liste déroulante dans un datagridview
- 30. Générer une liste déroulante
Y at-il une autre approche au lieu de créer la div pour dérouler –