Skip to main content

Part 1 / Bindings / Numeric inputs

In the DOM, everything is a string. That's unhelpful when you're dealing with numeric inputs — type="number" and type="range" — as it means you have to remember to coerce input.value before using it.

With bind:value, Svelte takes care of it for you:

<input type=number bind:value={a} min=0 max=10>
<input type=range bind:value={a} min=0 max=10>

Next: Checkbox inputs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
<script>
	let a = 1;
	let b = 2;
</script>
 
<label>
	<input
		type="number"
		value={a}
		min="0"
		max="10"
	/>
 
	<input
		type="range"
		value={a}
		min="0"
		max="10"
	/>
</label>
 
<label>
	<input
		type="number"
		value={b}
		min="0"
		max="10"
	/>
 
	<input
		type="range"
		value={b}
		min="0"
		max="10"
	/>
</label>
 
<p>{a} + {b} = {a + b}</p>
 
<style>
	label {
		display: flex;
	}
 
	input,
	p {
		margin: 6px;
	}
</style>
 
initialising