使用jQuery选择输入框内的部分字符串

时间:2010-06-21 14:20:02

标签: javascript jquery

我试图弄清楚如何使用jQuery突出显示输入框内部文本的某些部分。突出显示输入框的全部内容非常简单,但如何突出显示一个单词或几个字母?

谢谢!

2 个答案:

答案 0 :(得分:33)

对于文本<input>元素,以下内容将完成此任务。该示例仅在输入中选择单词“two”:

function setInputSelection(input, startPos, endPos) {
    input.focus();
    if (typeof input.selectionStart != "undefined") {
        input.selectionStart = startPos;
        input.selectionEnd = endPos;
    } else if (document.selection && document.selection.createRange) {
        // IE branch
        input.select();
        var range = document.selection.createRange();
        range.collapse(true);
        range.moveEnd("character", endPos);
        range.moveStart("character", startPos);
        range.select();
    }
}

document.getElementById("setSelection").onmousedown = function() {
    var input = document.getElementById("i");
    setInputSelection(input, 4, 7);
    return false;
};
<input id="i" type="text" value="One two three">
<input type="button" value="Set selection" id="setSelection">

答案 1 :(得分:-3)

您需要选择整个值,然后在代码中操作字符串。根据您尝试对单词执行的操作,您可能会使用正则表达式来匹配某些单词/字母。