2010-06-08 51 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