[英]Dynamic text in textarea - getting value
我在textarea中的文本/值不是靜態的-我正在更改它。 我無法獲得當前值。 例如1
<textarea>
Lorem ipsum
</textarea>
//it's defalut in html file
2
Putting into textarea: Dolores is lorem ipsum
警報僅顯示1個版本(“ lorem ipsum”),而不顯示第二個版本(“ Dolores is lorem ipsum”)。 我正在嘗試在jquery中做到這一點:
var variable = $("#selector").val();
alert(variable);
我做錯了什么?
我想將其捕獲到變量中:)不提醒。 警報只是我的測試:)
$('textarea').change(function() {
alert($(this).val());
});
您使用的代碼是正確的。 查看演示
var text = $('#textareaID').val();
$('#textareaID').change(function() {
text = $(this).val();
});
每當您想要文本時,只需引用它即可:)
編輯:
如果您使用的是標簽用戶界面,請查看文檔和事件管理:
Place This outside of bound scope:
var text = $('#textareaID').val(); OR var text = '';
$('#example').bind('tabsselect', function(event, ui) {
// Objects available in the function context:
// ui.tab anchor element of the selected (clicked) tab
// ui.panel element, that contains the selected/clicked tab contents
// ui.index zero-based index of the selected (clicked) tab
// INSIDE HERE IS WHERE YOU CAN PUT THE CODE IN THE ABOVE EXAMPLE
$('#textareaID').change(function() {
text = $(this).val();
});
});
注意:$('#example')將是保存選項卡和內容的父div
進一步的優化建議。
如果您認為$('#textareaID')通常會被調用,則您可能希望緩存對其的引用,以便選擇器引擎不必在每個實例上都找到它,可以這樣進行:
var textarea = $('#textareaID');
var text = $('#textareaID').val();
對於此行:
var textarea = $('#textareaID');
確保它在$(document).ready(function(){});內部; 呼叫且元素存在
您可以通過以下方法進行檢查:
var textarea = $('#textareaID') || false;
並像上面那樣包裝上面的代碼:
$('#example').bind('tabsselect', function(event, ui) {
// Objects available in the function context:
// ui.tab anchor element of the selected (clicked) tab
// ui.panel element, that contains the selected/clicked tab contents
// ui.index zero-based index of the selected (clicked) tab
// INSIDE HERE IS WHERE YOU CAN PUT THE CODE IN THE ABOVE EXAMPLE
if(textarea) {
textarea.change(function() {
text = $(this).val();
});
}
});
希望這可以幫助!
聽起來您正在嘗試在值更改之前將.val()
分配給變量。 您想使用.val()
是正確的。 嘗試這種的jsfiddle地看到,由所產生的差異variable
, .val()
.text()
和.html()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.