0

i'm relatively new to jquery and javascript and am trying to pass a unique id (number) into a flickr search function (jquery.flickr-1.0-js) like so, (number is the variable where i'm storing the unique id)

<script type="text/javascript" src="javascripts/jquery.flickr-1.0.js"></script>

 <script type="text/javascript"> 

 jQuery(function(){   
        jQuery(".btnRefresh").click(function(){
          var number = $(this).attr("id");
          $('#gallery_flickr_'+number+'').show();
            jQuery('#gallery_flickr_'+number+'').html("").flickr({      
                api_key: "XXXXXXXXXXXXXXXXXXXXXXX",     
                per_page: 15   
            });
        }); 
    }); 

  </script>

When i try to pass it in to the flickr-1.0.js function like so (abbreviated)

(function($) {
$.fn.flickr = function(o){

var s = {
    text: $('input#flickr_search_'+number+'').val(),
   };
  };
})(jQuery);

i get a error

number is not defined [Break on this error] text: $('input#flickr_search_'+numbe...] for type=='search' free text search

please help, what do i need to do to pass the variable between the two scripts?

Thanks,

1
  • You need to show more code for the second sample. In the first sample number comes from the element that was clicked. It's not clear where or how the second sample is being used. Commented Dec 25, 2008 at 2:34

3 Answers 3

2

Try adjusting your scripts as below:

 ...
            jQuery('#gallery_flickr_'+number+'').html("").flickr({      
                    api_key: "XXXXXXXXXXXXXXXXXXXXXXX",     
                    per_page: 15,
                    search_text: $('input#flickr_search_'+number+'').val()  
            });
...



(function($) {
$.fn.flickr = function(o){

var s = {
    text: o.search_text
   };
  };
})(jQuery);

The idea is that you need to find the search text based on the id of the clicked item. You do that in the function where the id is available, then pass the value of the input to the flickr function with the other values in the hash argument. In the flickr function you extract the named item from the hash and use the value.

Sign up to request clarification or add additional context in comments.

Comments

2

You can pass parameters in JQuery very easily; for example:

$.ajax({
    type: "POST",
    url: "/<%=domainMap%>/registration/recieptList.jsp",  
    data: "patientId=" + patientId+"golbalSearch="+golbalSearch,
    success: function(response){
      // we have the response
      $('#loadPatientReciept').html(response);
    },
    error: function(e){
      alert('Error: ' + e);
    }
  });
}

Comments

0

I just realized 'flicker' != 'flickr'

darn you cutesy web 2.0 names!!!

Thanks!

2 Comments

I corrected my post. BTW, the way stackoverflow works, you should upvote helpful answers and click the accept arrow on the post that best answers your question.
Generally, you want to update/edit your question rather than providing new information in an answer. Answers are supposed to be just that: answers, not additions to the question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.