захватить значение адреса в классе span и передать его в URL карты Google в виде строки запроса - PullRequest
0 голосов
/ 08 февраля 2012

У меня проблемы, потому что это внутри шаблона xsl, поэтому каждый раз, когда он выплевывает строку, класс span хранит значение строки, поэтому, если есть три элемента, класс span будет содержать три значения адреса, которые передаются вURL карты Google вместо одного за раз ... Я использую 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 Улица Западная, Индианаполис IN 4626024 Джолиет-стрит, Дайер IN 463112001 86-я улица Западная, Индианаполис IN 4626024 Джолиет-стрит, 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 Ответ

1 голос
/ 08 февраля 2012

Вы должны использовать $(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;
    }); 
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...