bateman_ap
bateman_ap

Reputation: 1921

Getting value from href using jQuery

I wonder if anyone can help with a jQuery problem I am having.

I am using the tooltips from the Jquery Tools library to create a popup window when mousing over an hrefed image, this I want to use to cusomise the call to change the content in the DIV.

The links I am using are in the form:

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

The code I am using to trigger the tip is:

$(".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'); 
        }  
    });

I have tried the following function to grab the ID (in the example above, 1313) from the link:

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

However I think this is where it falls down, I think my regex is prob to blame...

Once I get the var pageNum I presume I can just pass it into the .load as:

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

Many thanks

Upvotes: 3

Views: 563

Answers (2)

JJ.
JJ.

Reputation: 66

Firstly, you haven't correctly escaped the / character in your regex:

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

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

Secondly, you haven't correctly ended your regex, the entire line has a few syntax errors:

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

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

Upvotes: 5

ilikeorangutans
ilikeorangutans

Reputation: 1763

I don't know the tooltip plugin but I think your approach is a little bit... cumbersome. I worked with the jQuery tools and their overlay and it allowed to register a callback that would be handed the event source, in this case that would be the hrefd image which you can just ask for the actual URL. Might not be the answer you are looking for, but I just feel that you are making this more complicated than necessary.

Upvotes: 0

Related Questions