Comment faire pour obtenir l'élément parent de la valeur à l'aide de jquery?
J'ai une table avec un couple de lignes avec deux cellules dans chaque ligne et chaque cellule a quelques infos comme le nom d'un bureau, l'adresse et le numéro de téléphone, etc. Utilisation de jquery pour chacun, l'adresse est tirée à partir de chaque cellule et de la fed dans google map geocoder objet de faire le point et tracer sur la carte. Maintenant à chaque coup d'une valeur d'Adresse, je voudrais également saisir la valeur unique de téléphone et nom du bureau de la cellule en cours de jquery qui est d'obtenir la valeur de l'adresse..j'ai besoin de ces valeurs afin que je puisse afficher ces valeurs dans la bulle informative de la carte? Comment puis-je obtenir ces valeurs?
<table class="OfficeInfo" border="0" style="width: 100%" cellspacing="10px" cellpadding="15px">
<tr>
<td class="Office1" style="width=40%">
<span class="OfficeName">
<div id="ctl00_PlaceHolderMain_ctl00_ctl17_label" style='display:none'>Office1Link</div><div id="ctl00_PlaceHolderMain_ctl00_ctl17__ControlWrapper_RichLinkField" class="ms-rtestate-field" style="display:inline" aria-labelledby="ctl00_PlaceHolderMain_ctl00_ctl17_label"><div class="ms-rtestate-field"><a href="/" target="_blank">St. Francis Hospital</a></div></div>
</span>
<span class="Address">
2001 86th Street West <br />Indianapolis, IN 46260
</span> <br />
<span class="Phone">
(402) 123-1234</span><br /><br />
<a class="mapdirectionsLink" href="#">map & directions></a><br /><br />
<span class="Hours">
MTW:9:00AM-5:00PM</span>
</td>
<td class="Office2" style="width:40%">
<span class="OfficeName">
<div id="ctl00_PlaceHolderMain_ctl00_ctl21_label" style='display:none'>Office2Link</div><div id="ctl00_PlaceHolderMain_ctl00_ctl21__ControlWrapper_RichLinkField" class="ms-rtestate-field" style="display:inline" aria-labelledby="ctl00_PlaceHolderMain_ctl00_ctl21_label"><div class="ms-rtestate-field"><a href="/" target="_blank">St. Margaret's Hospital</a></div></div>
</span>
<span class="Address">
8075 North Shadeland Avenue <br />Indianapolis, IN 46250</span><br />
<span class="Phone">
(316) 123-3245</span><br /><br />
<a class="mapdirectionsLink" href="#">map & directions></a><br /><br />
<span class="Hours">
MTW:9:00AM-5:00PM</span>
</td>
</tr>
<tr>
<td class="Office3" style="border-top:1px dotted silver; width:40%;">
<span class="OfficeName">
<div id="ctl00_PlaceHolderMain_ctl00_ctl25_label" style='display:none'>Office3Link</div><div id="ctl00_PlaceHolderMain_ctl00_ctl25__ControlWrapper_RichLinkField" class="ms-rtestate-field" style="display:inline" aria-labelledby="ctl00_PlaceHolderMain_ctl00_ctl25_label"><div class="ms-rtestate-field"><a href="/" target="_blank">Munster Women's Center</a></div></div>
</span>
<span class="Address">
395 Westfield Road <br />Noblesville, IN 46060</span><br />
<span class="Phone">
(316) 123-3245</span><br /><br />
<a class="mapdirectionsLink" href="#">map & directions></a><br /><br />
<span class="Hours">
MTW:9:00AM-5:00PM</span>
</td>
<td style="border-top:1px dotted silver; width:40%">
</td>
</tr>
</table>
function codeAddress() {
var infowindow = new google.maps.InfoWindow({});
$('span.Address').each(function(index) {
var addy = $(this).text();
var off_name = $(this).siblings('.OfficeName').children(.ms-rtestate-field).text();
var infowindow = new google.maps.InfoWindow({ content: 'Hello world' });
geocoder.geocode( { 'address': addy}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
map.setCenter(results[0].geometry.location);
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
title:addy
});
//var currentCell=(this).closest(td).html());
//Adding a click event to the marker
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent('<span style="color:#808080; font-size:13px; font-family:Trebuchet">'+addy
+'<br> <a href="http://maps.google.com/maps?saddr=&daddr=' + this.position.toUrlValue() + '" target ="_blank">Get Direction To Here<\/a>'+
off_name + '</span>');
infowindow.open(map, this);
});
} else {
alert("Geocode was not successful for the following reason: " + status);
}
});
});
}
J'ai ajouté le javascript aussi... je veux obtenir le nom d'un bureau et numéro de téléphone sur le contexte actuel de "il"..
Non pas que je veux pinailler sur des détails, je vous recommande d'identifier vos éléments avec un id unique, au lieu de classes. De cette façon, vous pouvez cibler des éléments spécifiques. Bien que vous pouvez le faire avec des classes, une classe est destinée à être un générique de déclaration qui peut être partagé par de nombreux éléments, alors qu'un id est unique et spécifique à un seul élément.
par les regards de la déformation ctl00_... id sur la durée, il est l'aide de ASP.NET. Depuis webforms mungo, l'ID est tellement mal en point qu'il est souvent plus facile d'utiliser les noms de classe (c'est ce que je fais) plutôt que de saupoudrer <% [ControlID].ClientID %> code tous sur la place. Cependant, je suis d'accord que si vous voulez des éléments uniques, vous avez besoin d'au moins unique de la classe des noms, si vous n'êtes pas à l'aide de l'ID.
OriginalL'auteur AJSwift | 2011-11-17
Vous devez vous connecter pour publier un commentaire.
Selon le contexte actuel de
this
, alors cela devrait fonctionner:Vous êtes les bienvenus, merci!
Je suis à l'aide de dynamic html généré à partir d'un script côté serveur & cette méthode ne fonctionne pas pour moi. Ai-je raté quelque part? Voici mon script d'exemple:-
$(this).parent().find('#msg').html();
Barry, de ce fait je vous remercie. $(this).parent().parent().find('une période.famille-prix").attr('style', 'visibility: hidden;');
Vous pouvez raccourcir à l'aide de
.parents(selector)
ou.closest(selector)
en fonction. Si vous voulez aller deux parents, vous pouvez vous faire$(this).parents().eq(1).find('a span.family-price')...
.OriginalL'auteur Yes Barry
$(this).siblings('.Phone').html()
et$(this).siblings('.Address').html()
.val()
seulement utilisé pourinput
s? Edit: Er,input
s etoption
s et la comme.vous avez raison - il faut utiliser
.html()
au lieu de.val()
OriginalL'auteur Zoltan Toth
Nous pouvons le faire en utilisant jquery OU Javascript. ici, nous allons discuter avec l'id de courrier électronique des mises à jour.
à soufflet exemple une fenêtre pop-up s'ouvre avec le remplissage automatique d'id de courrier électronique à partir de la fenêtre parent.
après la mise à jour, un e-mail sera automatiquement mise à jour dans la fenêtre parent de la zone de texte et la fenêtre pop-up aura fermé autocratique.
Exemple:
1) Créer fichier index.html comme un parent windows
2) Créer fichier update_popup.html comme un fenêtre pop-up où id e-mail automatique de remplissage à partir de la fenêtre parent de la mise à jour.
pour plus de détails..
http://www.delhincrjob.com/blog/how-to-get-the-parent-window-element-value-in-popup-window-using-jquery/
OriginalL'auteur user3632632
Vous obtiendrez le numéro de téléphone de Bureau 1 Bureau 1 td
Vous obtiendrez le numéro de téléphone à partir de l'Adresse s'étend sur
OriginalL'auteur Rich O'Kelly
Voici un petit et simple, mais bon pour commencer, un PDF pour Jquery. Essayez d'utiliser Jquery Feuille De Triche car il contient une solution à la plupart de vos problèmes.
OriginalL'auteur Akshay Khandelwal
$(this).parent().find(".OfficeName").text()
obtient le nom d'un bureau et$(this).parent().find(".Phone").text()
obtient le téléphone pour chaque adresse.jsfiddle - cliquez sur une adresse et il va montrer le nom et le téléphone dans une alerte.
Pas de problème. J'espère que c'était de l'aide pour vous. 🙂
C'est sûr qu'il était! Je suis nouveau sur jsfiddle, mais je suis lovin il..
OriginalL'auteur Tim Hobbs