On pageload I set a variable
$(document).ready(function() {
var inv_count = 3;
});
When I try to refer to that variable inside functions though, it doesn't work.
function blah(a,b) {
alert (inv_count);
}
Why is this? And how can I get around it?
(rookie here)
You have a problem of scope, I suggest you read a little about it because you can improve your javascript a ton, but you could solve it in two general ways:
var inv_count; //you declare your variable in a global scope, it's not very good practice
$(document).ready(function() {
inv_count = 3;
});
function blah(a,b) {
alert (inv_count);
}
or
$(document).ready(function() {
var inv_count = 3;
function blah(a,b) {
alert (inv_count);
}
//you declare everything inside the scope of jQuery, if you want to acess blah outside use:
//window.blah = blah;
});
Also I recommend you read about clousures if you don't know how they work.
If you declare a variable inside a function, the variable name will be inaccessible outside the scope of that function. Move the declaration outside the function:
var inv_count;
$(document).ready(function() {
inv_count = 3;
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With