2010-03-04 33 views
9

Seçilen metnin karakter konumlarını bir HTML <input> metin kutusu öğesine nasıl alabilirim? Metin kutularının içinde window.getSelection() çalışmıyor. jCaretSeçilen metni bir metin kutusuna alın

// Get start pos in intput box with id="box1" 
$("#box1").caret().start 

// Get end pos 
$("#box1").caret().end 

// Get selected text 
$("#box1").caret().text 
+0

@Ant - daha fazla bilgiye ihtiyacımız var. Hangi dili kullanıyorsunuz? Bu sadece tarayıcıda (istemci tarafı) veya sunucuda mı? – Oded

+0

deyin, javascript ve firefox. window.getSelection() metin kutusunun içinde çalışmıyor. – alfred

cevap

12

jQuery kullanıyorsanız, jQuery Caret eklentisi bakmak Internet Explorer'ın gerçekten eski sürümlerini desteklemeniz gerekmiyorsa, öğenin selectionEnd ve selectionStart özelliklerini kullanın.

4

........

<script language=javascript> 
function getSelText() 
{ 
    var txt = ''; 
    if (window.getSelection) 
    { 
     txt = window.getSelection(); 
      } 
    else if (document.getSelection) 
    { 
     txt = document.getSelection(); 
      } 
    else if (document.selection) 
    { 
     txt = document.selection.createRange().text; 
      } 
    else return; 
document.aform.selectedtext.value = txt; 
} 
</script> 

<input type="button" value="Get selection" onmousedown="getSelText()"> 

<form name=aform > 
<textarea name="selectedtext" rows="5" cols="20"></textarea> 
</form> 

Referans: http://www.codetoad.com/javascript_get_selected_text.asp

İlgili konular