35

我有以下函数将选择器添加到搜索输入作为高级选项,就像堆栈溢出高级搜索一样。

当您单击要搜索的内容时,它会添加一个前缀。请参阅下面的 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: <-- 我的搜索输入的附加值,我想在此处设置光标,就在:

4

1 回答 1

134

您可以使用Input.setSelectionRangeRange 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);

演示:小提琴

于 2013-10-24T14:00:23.347 回答