Установите фокус и курсор в конец поля ввода текста/строки w. Jquery

У меня есть следующая функция, которая добавляет селектор к поисковому вводу как расширенный параметр, так же как переполнение стека расширенным поиском.

Когда вы нажимаете то, что ищете, он добавляет префикс. См. Ниже JQuery:

<script>
$(document).ready(function () {

        $("table#advanced_search_options tr").click(function () {
            var SearchSelection = $(this).children("td:last-of-type").html();
            var SearchInput = $('#Search');
            SearchInput.val(SearchInput.val() + SearchSelection);
            return false;
            alert(SearchSelection);
        });
});
</script>

Как я могу манипулировать приведенным выше, чтобы также сфокусироваться на вход #search, помещая морковь (мигающий курсор вставки текста) в конец вставленного текста/значения? например.

HC: < - добавленное значение для ввода моего запроса, я хотел бы установить курсор здесь, сразу после:

Ответ 1

Вы можете сделать это, используя Input.setSelectionRange, часть API диапазона для взаимодействия с текстовыми выделениями и текстовым курсором:

var searchInput = $('#Search');

// Multiply by 2 to ensure the cursor always ends up at the end;
// Opera sometimes sees a carriage return as 2 characters.
var strLength = searchInput.val().length * 2;

searchInput.focus();
searchInput[0].setSelectionRange(strLength, strLength);

Демо: Fiddle