I’m new to javascript and cant get this little thing to work. (all external scripts a of course loaded)
I have this jQuery script:
$('a.Link').click(function(){
autoComp('City');
});
function autoComp(strFormName) {
var Company = 'Adobe Apple Microsoft'.split(" ");
var City = 'London Paris Berlin'.split(" ");
$('#'+strFormName).autocomplete(strFormName)
}
I cant get it to work. I’ve discovered that the problem is the last “strFormName” after .autocomplete
Appreciate all the help I can get.
You’re passing the actual value of
strFormNameinto the autocompleter. You probably wanted to do this instead:What that does is create an object (
data) with two properties,CityandCompany. Then, when passing the array to the autocompleter, it selects the appropriate array by looking up the property by name, using[]syntax.JavaScript is very flexible about how you access properties. For example, all of these retrieve the
Cityproperty ofdata:You get the idea, you can either access a property by using its name literally in the code, or by indexing into the object with
[]and giving the property as a string (which can be a string literal, or a string coming from a variable, or expression, or function result, or…).I’d probably move the
datastuff out ofautoCompbecause you don’t need to recreate it every time.