Ajouter image/icône sous forme d'une ligne de valeur dans les tables de données
J'ai besoin d'ajouter une image/icône de la dernière colonne de la ligne. Et que l'icône doit avoir une info-bulle lorsque j'ai passez la souris sur il devrait afficher des données à partir du serveur. Je ne suis pas sûr de savoir comment le mettre en œuvre. Tous les experts de l'oms a mis en place cette fonctionnalité, veuillez m'aider. Merci à l'avance.
MODIFIER
C'est l'exemple de données que j'ai et j'ai besoin d'ajouter une icône de la dernière colonne, lorsque planait au-dessus affiche une info-bulle avec les "données" dans l'info-bulle.
{
"iTotalRecords": 5,
"sEcho": "1",
"aaData": [
[
"V2993ASFKH230943",
"Honda",
"Accord",
"data"
],
[
"V2993A39SNF30943",
"Honda",
"CRV",
"data"
],
[
"V4833A39SNF30943",
"Acura",
"TSX"
],
[
"V4833RE9SNF30943",
"Acura",
"TL",
"data"
],
[
"V9383RE9SNF30943",
"Acura",
"MDX",
"data"
]
],
"iTotalDisplayRecords": 5
}
[mise à jour]
La balise d'image finit par ressembler à ceci:
var imgTag = '<span class="mytext" ><span class="ui-icon ui-icon-wrench" ></span>';
Une exigence est d'avoir de dialogue modale apparaît sur le vol stationnaire. Ci-dessous est le jquery, le code pour ouvrir le modal.
$(".mytext").mouseover(
function() {
var width = 250;
var height = 270;
var posX = $(this).offset().left - $(document).scrollLeft()
- width + $(this).outerWidth();
var posY = $(this).offset().top - $(document).scrollTop()
+ $(this).outerHeight();
//alert(posX + ", " +posY);
$(".mytext").dialog({
resizable:false,
width : width,
height : height,
position : [ posX, posY ]
});
});
C'est en quelque sorte pas de travail, quand je planent sur elle. Ses pas le déclenchement de l'jquery Modal
Mise à JOUR
Vous avez raison, il y a un problème de synchronisation. J'ai résolu le problème. Maintenant, quand je hover sur c'est le chargement de toutes les images dans la modale, c'est à dire, le nombre de lignes que j'ai sont le nombre de boîtes de dialogue modales qui sont ouverts. J'ai besoin de passer la valeur de aData[3] pour le jquery modal.
- Quant à la boîte de dialogue modale: vous êtes à l'aide d'un auto-écoute de l'événement liant, de sorte que vous avez un problème de synchronisation. L'élément que vous souhaitez lier l'info-bulle n'est pas disponible au moment où vous êtes l'exécuter. Vous pouvez soit effectuer la liaison sur une ligne par ligne (non recommandé) ou de l'ensemble de votre auditeur comme un ancêtre. Dans l'exemple de code, je ne vois pas où le contenu de la modale est défini. Est-ce à l'aide de jQuery UI? (.la boîte de dialogue() est une commune nom de la fonction, mais c'EST dans l'INTERFACE utilisateur de jQuery). Est la boîte de dialogue réellement modal (nécessite une action) ou tout simplement une boîte de dialogue qui s'affiche?
- Je suis de me gratter la tête pour passer le contenu modal. C'est juste une boîte de dialogue qui apparaît, mais avec le contenu de aData[3] en elle.
- Mise à jour de ma réponse avec un exemple
Vous devez vous connecter pour publier un commentaire.
Ça dépend un peu sur la façon dont l'info-bulle est mis en œuvre. Chaque 3e partie de "Fantaisie" JavaScript info-bulle de faire les choses différemment. L'exemple ici est de simplement montrer comment prendre deux morceaux de données (marque et modèle) et de les pousser dans l'attribut "title" de la cellule, qui sera le déclencheur d'un navigateur intégré dans les info-bulles.
J'imagine que vous allez être en utilisant une info-bulle plugin ou somesuch, de sorte que vous aurez à prendre les principes généraux de l'exemple et de les adapter aux spécificités de l'info-bulle. OK, assez de préambule.
--
C'est tout ce qui va se passer dans le fnRowCallback [mise à jour: 1.10 avant utilise juste "rowCallback"], qui est une propriété dans les tables de données de l'objet que vous pouvez définir lors de l'initialisation. En faisant cela, ce qui va se passer est que chaque ligne est affichée, vous avez la possibilité de modifier le HTML (nRow) et le retourner après modification, de sorte qu'il peut être poussé dans les DOM.
(remarque: lorsqu'il contribue à la lisibilité, j'ai tendance à faire plus de variables que celles qui sont strictement nécessaires. Je garde aussi le iDisplayIndex et iDisplayIndexFull qui traînent. Vous devriez être en mesure de les supprimer si vous le souhaitez)
Maintenant, lorsque vous survolez l'image, l'info-bulle de montrer la marque et le Modèle.
Encore une fois, ce n'est pas faire n'importe quoi pour une info-bulle spécifique du plugin, si votre peut-être l'aide d'un plugin qui obtient aussi ses informations à partir du titre, qui serait à portée de main. Pour ces plugins, il vous suffit d'ajouter une classe à l'imageTag (class="info-bulle" ou quoi que ce soit) qui déclenche le plugin.
[mise à jour]
Donc à l'aide de jQuery UI du dialogue comme un exemple: beaucoup de dialogue personnalisées fonctions créer un "conteneur" nœud à la volée, et ensuite appeler
dialog()
sur elle. Je préfère avoir un générique réutilisable contenant nœud dans le document de base, puis de le remplir en cas de besoin.Je tiens à mettre la mienne, avant que le corps de ferme, parce que c'est là jQuery UI va coller lorsque vous avez terminé avec elle de toute façon:
Dans votre CSS, vous définissez à être masqué par défaut (
#dialogContainer { display:none }
).Maintenant que vous avez le conteneur, vous pouvez utiliser le
.dialog()
fonction sur elle. À l'aide de l'exemple ci-dessus (note j'ai ajouté la catégorie "hoverImage" pour elle), vous devez remplir aData[3] dans le titre de l'image à la place de ce qui est dans mon exemple. Le titre agissant en qualité de "stockage" pour aData[3] données.Maintenant, totalement à l'extérieur des tables de données d'initialisation, dans votre document prêt de fonction (vous avez probablement déjà un), vous pouvez lier le mouseenter événement:
Plutôt que d'essayer de stocker les données d'image dans la base de données, j'ai de stocker les images sur le serveur dans un dossier et de stocker l'adresse de l'image dans la base de données. Vous pouvez également stocker d'autres méta-informations comme la hauteur, la largeur et - comme vous le mentionnez - le texte alt. Si vous en avez besoin vous pouvez générer le code pour télécharger les images de ce dossier, et lorsque vous les téléchargez, vous avez la possibilité d'ajouter les données de l'image à la base de données.