My jquery is not alerting anything when I click the button with the id decrease. This is my code. I am using external js file.
$(document).ready(
$('#decrease').click(function() {
var beforeIncrement = $('#amt').val();
alert(beforeIncrement);
}))
I tried doing this and it is working fine.
$(document).ready(function(){
alert("Ready");
})
This is the html code:
<div class="row justify-content-center d-flex">
<button id="decrease" class="btn btn-warning">-</button>
<input type="number" id="amt" value="1"/>
<button id="increase" class="btn btn-warning">+</button>
</div>
what’s wrong with my first code snippet?
Advertisement
Answer
The value you pass to ready()
needs to be a function.
In your first example, you are passing the return value of $('#decrease').click(...)
.
This means that $('#decrease').click(...)
has to be evaluated immediately, so it is looking for #decrease
before the DOM is ready and the element doesn’t exist yet.
ready()
then ignores the value you pass to it because it isn’t a function.
Wrap the call to $('#decrease').click(...)
in a function, just as you did for alert(...)
in the second example.
You also have a missing );
at the end but I’m guessing that just got cut off when you transcribed your code to the question.