0

我正在创建一个这样的文本区域:

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) { ... }                      

             );

        }
4

1 回答 1

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" >​&lt;/textarea>​]

如您所见,visit是您的元素,所以我再次重申,此时无需通过 id 调用该元素。

于 2012-04-10T15:40:18.217 回答