Получение значения из href с использованием jQuery - PullRequest
3 голосов
/ 28 апреля 2010

Интересно, может ли кто-нибудь помочь мне с проблемой jQuery?

Я использую всплывающие подсказки из библиотеки Jquery Tools для создания всплывающего окна при наведении курсора мыши на изображение с увеличенным шрифтом, которое я хочу использовать, чтобы настроить вызов для изменения содержимого в DIV.

Ссылки, которые я использую, имеют вид:

<a href="/venue/1313.htm" class="quickView"><img src="/images/site/quickView83.png" alt="Quick View" width="83" height="20" /></a>

Код, который я использую для вызова подсказки:

$(".quickView").live('mouseover', function()
    {
        if (!$(this).data('init'))
        {
            $(this).data('init', true);
            ajax_quickView(); 
            $(this).tooltip
            ({ 
                /* tooltip configuration goes here */ 
                tip: "#quickViewWindow",
                position: "right",
                offset: [0, -300], 
                effect: 'slide' 
            });
            $(this).trigger('mouseover'); 
        }  
    });

Я попробовал следующую функцию, чтобы получить идентификатор (в примере выше, 1313) по ссылке:

function ajax_quickView(){
        var pageNum = $("a.quickView").attr("href").match(/venue/([0-9]+)/).htm[1];
        $("#quickViewWindow").load("/quick-view/", function(){}) 
    }

Тем не менее, я думаю, что это то место, где он падает, я думаю, что мое регулярное выражение является вероятным виноватым ...

Как только я получу переменную pageNum, я полагаю, что могу просто передать ее в .load как:

$("#quickViewWindow").load("/quick-view/", {id : pageNum }, function(){})

Большое спасибо

Ответы [ 2 ]

5 голосов
/ 28 апреля 2010

Во-первых, вы не правильно экранировали символ / в своем регулярном выражении:

/venue/([0-9]+)/

// should be
/venue\/([0-9]+)/

Во-вторых, вы неправильно завершили свое регулярное выражение, во всей строке есть несколько синтаксических ошибок:

.match(/venue/([0-9]+)/).htm[1];

// should be
.match(/venue\/([0-9]+).htm/)[1]; 
0 голосов
/ 28 апреля 2010

Я не знаю плагин всплывающей подсказки, но я думаю, что ваш подход немного ... громоздок. Я работал с инструментами jQuery и их наложением, и это позволило зарегистрировать обратный вызов, который будет передан источнику события, в этом случае это будет изображение hrefd, которое вы можете просто запросить для фактического URL. Возможно, это не тот ответ, который вы ищете, но я просто чувствую, что вы делаете это более сложным, чем необходимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...