Thank you James for the help! I didn't know that the address is static once you've initialized it. I'm trying to work with the extraParams option but it doesn't seem to do anything. Here is how I have it set:
//Item Search for food name $("#add-item #ITEMNAME").autocomplete("<?= site_url('aloha/ item_search'); ?>", { extraParams: categoryID, selectFirst: false, formatItem: formatItem, formatResult: formatResult }).result(function(row, item, data) { $('#add-item #ITEMNAME').val(item[0]); $('#add-item #ITEMID').val(item[1]); }); Just setting it like that doesn't seem to add anything to AJAX call. On Aug 27, 4:11 pm, James <james.gp....@gmail.com> wrote: > It's not really a variable scope problem. You're misunderstanding when > variables are set. > This is what's happening: > > set global variable categoryID > add change event > add autocomplete with URL set to aloha/item_search/"+categoryID > -> categoryID is blank > do rest of page > > When you do your change event, you do update the categoryID variable, > but not the autocomplete URL. Once that URL is set on initialization, > it's set. Changing categoryID is not going to change the autocomplete > URL. > > I'm not sure if there is a way to update the autocomplete URL once > it's initialized without having to re-initialize it again. Is it > necessary that the URL has to change? Could you not use autocomplete's > 'extraParams' option to add additional data to the > call?http://docs.jquery.com/Plugins/Autocomplete/autocomplete#url_or_datao... > The difference with using extraParams is that the values are > calculated at the time of the call, so you'll have dynamic values. > > On Aug 27, 7:06 am, WhoButSB <whobu...@gmail.com> wrote: > > > Hello All, > > > I'm running into some issues where I'm alittle confused about the > > scope of my variables. > > > I have this code: > > > $(function(){ > > > var categoryID; > > > //Aloha Item Category Dropdown Selection > > //Takes the Selected Value and adds it to Item Search Ending > > $("#add-item select[name='CategoryId']").change(function(){ > > categoryID = $("#add-item select[name='CategoryId'] > > :selected").val > > (); > > return categoryID; > > }); > > > //Item Search for food name > > $("#add-item #ITEMNAME").autocomplete("<?= site_url('aloha/ > > item_search'); ?>/"+categoryID, { > > selectFirst: false, > > formatItem: formatItem, > > formatResult: formatResult > > }).result(function(row, item, data) { > > $('#add-item #ITEMNAME').val(item[0]); > > $('#add-item #ITEMID').val(item[1]); > > }); > > > } > > > What I'm trying to do is take a selection value from a drop down menu > > and append the value to the end of the URL in the auocomplete plugin. > > For some reason I'am not able to get this to work. Whenever I view > > the AJAX request it says that the value is undefined. But if I put a > > console.log() into where I select the value it comes up correctly. I > > believe its the way i'm defining the vairables scope. THank you for > > the help!