2011-09-14 37 views
-7

HTML代碼 -.getSelection()

<script language="javascript" type="text/javascript" src="js/jquery-1.4.2.min.js"></script> 

<script language="javascript" type="text/javascript" src="js/jquery.field.selection.js"></script> 

    <div id="copy">Copy</div> 
     <textarea....id="t"> 

的jQuery ---

$(docu..... 
$('#copy').click(function(){ 
var range = $('#TextArea').getSelection(); 
alert(range.text); 
}); 

}); 

當#copy按鈕被按下警報不顯示在#T選定的文本。它是空白的。

我需要從textarea的選定的文本

+1

如果你真的提出問題,它會有幫助。 – Oded

+0

嘗試console.log或。調試並查看返回的內容 –

+0

Q上有-4的想法是什麼? – X10nD

回答

0

我不知道這個問題,但如果你需要得到textarea的值,只需使用jQuery的val方法:

http://api.jquery.com/val/

$('#copy').click(function(){ 
    var range = $('#t').val(); 
    alert(range); 
}); 
+0

我需要從textarea中選擇的文本 – X10nD

+0

然後google吧! http://stackoverflow.com/questions/717224/how-to-get-selected-text-in-textarea –

+0

我做了,並得到了插件jquery.field.selection.js,並閱讀它的一切,但範圍。文字沒有顯示出來 – X10nD

0

要麼你改變你的id="t",要麼你改變#TextArea#t來獲得你的html標記中的textarea。

但我不知道你正在使用什麼插件或它想要什麼。

0

getSelection是文檔的方法,所以你應該做的:

var range = document.getSelection(); 

也請注意,您必須在IE中使用document.selection.createRange()所以一切變得有點複雜。
查看this example瞭解更多信息。你會最終需要這樣的功能:

function getSelectedText(){ 
    if(document.all){ 
    var selection = document.selection; 
    var newRng = selection.createRange(); 
    newRng.select(); 
    return newRng.htmlText; 
    }else{ 
    return document.getSelection(); 
    } 
} 

這應該返回選定的文本,並在所有主流瀏覽器中工作。

編輯:
剛纔看到你正在使用某種形式的jQuery的插件是(也許)應該讓你的代碼工作。問題是:

在你的HTML

,textarea的ID爲 「T」:

<textarea....id="t"> 

,但在你的JavaScript,你正在試圖獲得ID的 「文本區」 的選擇:

$('#TextArea').getSelection(); 

請將您的textarea的ID更改爲「TextArea」(或其他方式),看看會發生什麼。

1

您的代碼沒有運行,因爲這個語句失敗

var range = $('#TextArea').getSelection(); 

沒有什麼作爲TextArea爲您提供的標記ID是,這樣的腳本遇到一個錯誤,並且不會繼續超越它。

如果您將警報放在頂部,我確信彈出警告框。 即

$('#copy').click(function(){ 
    alert(''); //this will work 
    var range = $('#TextArea').getSelection(); 
    alert(range.text); 
}); 
+0

是否這樣做,我得到的range.text空白(沒有值返回),但起點,終點都返回 – X10nD

+0

@Jean,你可以先告訴我在你的代碼中'#Textarea'的位置。 ..你是否試圖引用textarea元素 – Starx