我在文本区域中的文本/值不是静态的 - 我正在更改它。我无法获取当前值。 例如 1
<textarea>
Lorem ipsum
</textarea>
//it's defalut in html file
2
Putting into textarea: Dolores is lorem ipsum
警报仅显示 1 个版本(“lorem ipsum”),但不显示第二个版本(“Dolores 是 lorem ipsum”)。我正在尝试在 jquery 中执行此操作:
var variable = $("#selector").val();
alert(variable);
我做错了什么?
编辑
我想将它捕获到变量:)不提醒。警报只是我的测试:)
最佳答案
var text = $('#textareaID').val();
$('#textareaID').change(function() {
text = $(this).val();
});
当您需要文本时,只需引用它:)
编辑:
如果您使用选项卡 UI,请查看 docs和事件管理:
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();
});
}
});
希望这有帮助!
关于javascript - 文本区域中的动态文本 - 获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9711673/