textToolkit= '<textarea class="textInput" style="width:400px; height:200px;"></textarea>';
//adding the textToolkit in controls
$('#controls').html(textToolkit+theUpdateButton);
//LATER IN CODE AFTER CLICK OF A BUTTON
singleData=$('.textInput').val();
即使在文本区域中写入后,单个数据也是空的...如何获取该文本区域的文本?:/
问题出在您的点击功能上。正常
$(".someclass").click(function(){
});
将在 DOM 加载时呈现。但在此期间,特定类someclass
将不会作为其动态添加而存在。所以你需要绑定它或使用live
点击功能,如下所示:
$(document).on("click", ".someclass", function(){
singleData = $('.textInput').val();
});
事件处理程序仅绑定到当前选定的元素;在代码调用 .on(( 时,它们必须存在于页面上。若要确保元素存在且可以选择,请在文档就绪处理程序中对页面上 HTML 标记中的元素执行事件绑定。如果要将新 HTML 注入到页面中,请在将新 HTML 放入页面后选择元素并附加事件处理程序。或者,使用委托事件附加事件处理程序,如下所述。
委托事件的优点是,它们可以处理以后添加到文档中的后代元素中的事件。通过选取在附加委托事件处理程序时保证存在的元素,可以使用委托事件来避免频繁附加和删除事件处理程序的需要。例如,此元素可以是模型-视图-控制器设计中视图的容器元素,或者如果事件处理程序想要监视文档中的所有冒泡事件,则可以是文档。在加载任何其他 HTML 之前,文档元素在文档的头部可用,因此可以安全地将事件附加到其中,而无需等待文档准备就绪。
参考 : http://api.jquery.com/on/#direct-and-delegated-events
您需要在单击按钮时读取某些事件的值,例如:。
还要确保使用 jQuery on
方法来添加单击事件绑定代码。 on
方法适用于当前和未来(动态添加到 DOM(元素。
$(function(){
var textToolkit= '<textarea class="textInput" style="width:400px; height:200px;"></textarea>';
var theUpdateButton="<input type='button' id='btnGet' value='get' />";
//adding the textToolkit in controls
$('#controls').html(textToolkit+theUpdateButton);
$(document).on("click","#btnGet",function(e){
e.preventDefault();
var singleData=$('.textInput').val();
//This is not the best jQuery selector.
//You may change according to your specific UI structure.
alert(singleData);
});
});
这是一个工作示例 http://jsbin.com/eNigijIY/2/
请确保页面上的所有元素都已加载。
$(function(){
singleData=$('.textInput').text();
});