2010-06-08 45 views
3

我希望我的脚本只选择文本字段中的文本的一部分(<input type="text")。我怎样才能做到这一点?部分选择文本字段中的文本

+0

要clari fy,你想通过指定开始和结束索引来设置当前的选择?或通过匹配正则表达式?或者通过以某种预定方式修改现有的选择?或者是什么? – warrenm 2010-06-08 16:16:31

+1

可能的重复http://stackoverflow.com/questions/646611/programmatically-selecting-partial-text-in-an-input-field – marapet 2010-06-08 16:41:32

回答

2

您将需要使用Range,并且跨浏览器兼容性可能会成为问题。

怪异模式:Creating a Range object from a Selection object

如果jQuery是一个选项,在这里你可以使用(reference)函数...

$.fn.selectRange = function(start, end) { 
    return this.each(function() { 
     if(this.setSelectionRange) { 
      this.focus(); 
      this.setSelectionRange(start, end); 
     } else if(this.createTextRange) { 
      var range = this.createTextRange(); 
      range.collapse(true); 
      range.moveEnd('character', end); 
      range.moveStart('character', start); 
      range.select(); 
     } 
    }); 
}; 
+0

为什么你需要jQuery的呢? – 2010-06-08 16:19:17

+0

@Tim你不知道。 – 2010-06-08 19:16:59