Select first character of input value with jQuery
javascript, jquery
Solution
You must dereference the jQuery object by adding `[0]`. `setSelectionRange` is plain JavaScript and deals with plain JS objects. It doesn't know what a jQuery object is. BTW, I changed the second parameter from 2 to 1. It's not behaving like MDN has described?
SNIPPET
var input = $('.input')[0];
input.setSelectionRange(0, 1); // Highlights "X"
input.focus();
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input class="input" type="text" value="x*500*500" />
Problem
I have some input fields that are pre-filled through jQuery. I'd like to grab the value of an input, check if it starts with "x" and if it does, select that x. (So that the user can quickly change the x by just typing something else). I know there is a question like this here: Selecting Part of String inside an Input Box with jQuery But it's a really old question and it doesn't really use jQuery! So, how can I select the x in this input's value? ``` <input class="input" type="text" value="x*500*500" /> ``` I tried: ``` var input = $('.input'); input.setSelectionRange(0, 2); // Highlights "X" input.focus(); ``` error: `Uncaught TypeError: input.setSelectionRange is not a function`. Is `setSelectionRange`deprecated?