change and input Events
change and input Events: free step-by-step lesson with examples, common mistakes, and interview tips — part of jQuery Tutorial on Toolliyo Academy.
On this page
jQuery Tutorial · Lesson 26 of 100
change and input Events
Setup & DOM ✓ → Events Effects AJAX → Perf & Integrate → Ship & Projects
Events Effects AJAX · 2 — Interact · ~6 min · Events
What is this?
input fires on every value change (per keystroke for text). change fires when the value commits — typically on blur for text, immediately for select/checkbox.
Why should you care?
Live filters use input; expensive server queries often wait for change or a debounce.
See it live — copy this example
Examples include the jQuery 3.7 CDN. Paste into an HTML file or use Run Example to preview.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>QueryVerse</title>
<style>
body { font-family: system-ui, sans-serif; margin: 1.25rem; }
.box { padding: .75rem; border: 1px solid #ccc; border-radius: 8px; margin: .5rem 0; }
.muted { color: #666; }
button { margin-right: .35rem; margin-top: .35rem; }
input, select, textarea { margin: .25rem 0; }
table { border-collapse: collapse; width: 100%; }
th, td { border: 1px solid #ddd; padding: .4rem .55rem; text-align: left; }
.hidden { display: none; }
.row-odd { background: #f7f7f7; }
.active { font-weight: 700; }
.toast { background: #111; color: #fff; padding: .5rem .75rem; border-radius: 6px; }
</style>
</head>
<body>
<input id="filter" placeholder="Filter cities">
<select id="state">
<option value="">State</option>
<option>KA</option><option>MH</option><option>TN</option>
</select>
<ul id="list" class="box">
<li>Bengaluru</li><li>Mumbai</li><li>Chennai</li><li>Mysuru</li>
</ul>
<p id="out" class="muted"></p>
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
$(function () {
$('#filter').on('input', function () {
var q = $(this).val().toLowerCase();
$('#list li').each(function () {
var show = $(this).text().toLowerCase().indexOf(q) !== -1;
$(this).toggle(show);
});
$('#out').text('input q=' + q);
});
$('#state').on('change', function () {
$('#out').text('change state=' + $(this).val());
});
});
</script>
</body>
</html>
Run Example »
Edit the code below and click Run to see the result in Toolliyo’s live editor.
What happened?
- Debounce input handlers that hit the network.
- change on checkboxes fires when toggled.
- Prefer input for instant UI filters.
Practice next
- Type in the filter and watch the list shrink.
- Clear the filter to restore rows.
- Change the state select.
- Debounce input with setTimeout.
- Use change on a checkbox group.
Remember
input = continuous. change = committed. Match event to cost of work.
City filter
A redBus affiliate QueryVerse tool filters boarding cities as agents type.
Outcome: input filters instantly; state uses change for a deliberate pick.
Interview prep for this lesson
Practice these questions aloud after reading—each links to a full structured answer.
Sign in to ask a question or upvote helpful answers.
No questions yet — be the first to ask!