我正在创建一个像这样的textarea:
var visit_detailSpan = $("<span class='visit'>Visits: (optional)</span>");
var visit = $("<textarea rows='4' cols='40' class='visit' id='visit'></textarea>");
现在,我想获取上述textarea的值:当用户点击提交按钮时:但我得到undefined
var submitVisit = function(){
$.getJSON(
options.ServiceUrl,
{
......,
......,
visit: $('#visit').val() //<<<<<<
},
function (response) { ... }
);
}
答案 0 :(得分:0)
如果访问=
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调用该元素。