>我正在创建一个这样的文本区域:
var visit_detailSpan = $("<span class='visit'>Visits: (optional)</span>");
var visit = $("<textarea rows='4' cols='40' class='visit' id='visit'></textarea>");
现在,我正在尝试获取上述文本区域的值:当用户单击提交按钮时:但我得到undefined
var submitVisit = function(){
$.getJSON(
options.ServiceUrl,
{
......,
......,
visit: $('#visit').val() //<<<<<<
},
function (response) { ... }
);
}
如果访问 =
var visit = $("<textarea rows='4' cols='40' class='visit' id='visit'></textarea>")
或者即使它是
var visit = $("<textarea />").attr({ id: 'visit', rows: 4, cols: 40 }).addClass("visit")
无论哪种方式,您都已经将变量visit
建立为 HTML Textarea 元素的 jQuery 对象,因此在召回时获取值就像
visit.val();
每当您将一个元素作为 jquery 对象分配给变量时,您都不需要调用该元素 id,如果您确实通过 id 调用它并未定义,那么您实际上还没有将动态 html 发布到 dom 或者 id 没有正确建立。
如果在建立变量后,快速查看console.log(visit)
应该在控制台中显示如下内容:
[<textarea id="visit" rows="4" cols="40" class="visit" ></textarea>]
如您所见,visit
是您的元素,因此,我再次重申,此时无需通过 id 调用该元素。