捕获span类中的地址值,并将其作为查询字符串传递给google map url

时间:2012-02-08 14:40:16

标签: javascript jquery url map

我遇到麻烦,因为这是在xsl模板中,所以每次吐出一行时,sp​​an类存储行值,所以如果有三个项目,则span类将保存三个地址值,这些值将被传递给谷歌地图网址而不是一次一个...我使用的jquery是:

$('.HospitalAddressHidden').each(function(index) {
    var LocationAddress=$(".HospitalAddressHidden").text(); 
    $(".MapDirections > a").prop("href", function (index, oldHref) {
    return oldHref + LocationAddress;
    }); 
});

现在这确实有效,除了它传递了xsl返回的所有项目的所有地址,如下所示: - http://maps.google.com/maps?q=86th Street West,Indianapolis IN 4626024 Joliet street,Dyer IN 463112001 86th Street West,Indianapolis IN 4626024 Joliet street,Dyer IN 46311

<xsl:template name="dvt_1.rowview">
    <span class="HospitalAddressHidden">
        <xsl:value-of select="concat(@ADDRESS_LINE_1,',',@CITY,' ',@STATE,' ',@ZIP)" />
    </span>

    <span class="MapDirections" style="padding-top:10px">
        <a href="http://maps.google.com/maps?q=">Maps &#38; Directions</a>
    </span>
</xsl:template>

1 个答案:

答案 0 :(得分:1)

您应该再次使用$(this)而不是选择器,因为这将选择该类的所有范围。使用$(this).text()将为您提供迭代中当前项的文本。另外,我建议你使用jQuery的遍历行为来获取下一个.MapDirections > a而不是选择所有.MapDirections > a

$('.HospitalAddressHidden').each(function(index) {
    var LocationAddress=$(this).text(); 
    $(this).next('.MapDirections').find('a').prop("href", function (index, oldHref) {
        return oldHref + LocationAddress;
    }); 
});