2012-04-10 18 views
0

ich ein Textfeld wie folgt erschaffe:JQuery Textarea val - dynamisch erstellt

var visit_detailSpan = $("<span class='visit'>Visits: (optional)</span>");    
var visit = $("<textarea rows='4' cols='40' class='visit' id='visit'></textarea>"); 

jetzt, ich versuche, den Wert der obigen Textfeld zu erhalten: Wenn der Benutzer klicken Sie auf Absenden-Button: aber ich bin immer undefined

var submitVisit = function(){ 

      $.getJSON(
       options.ServiceUrl, 
       {      
        ......, 
        ......, 
        visit: $('#visit').val() //<<<<<< 
       }, 
       function (response) { ... }      

      ); 

     } 
+0

lol, dumme Leute überdenken Sachen. Du hast es schon vergeben, also benutze es. 'visit.val()' – SpYk3HH

+1

Ja und die Frage ist ...? –

+0

Ich bekomme "undefined", wenn ich '$ ('# visit'). Val()' –

Antwort

0

wenn Besuch =

var visit = $("<textarea rows='4' cols='40' class='visit' id='visit'></textarea>") 

oder auch wenn es

01 war
var visit = $("<textarea />").attr({ id: 'visit', rows: 4, cols: 40 }).addClass("visit") 

So oder so, etablierte man bereits die Variable visit das jQuery-Objekt des HTML-Textarea-Element zu sein, also den Wert auf Abruf zu erhalten, ist so einfach wie

visit.val(); 

Jedes Mal, wenn Sie ein ein Element asign Als jquery-Objekt für eine Variable müssen Sie diese Element-ID nicht aufrufen, und wenn Sie sie mit id zurückrufen und nicht definiert werden, dann haben Sie Ihren dynamischen HTML-Code noch nicht an dom gesendet oder die ID nicht richtig eingerichtet.

Wenn, nachdem Sie Ihre Variable etablieren, ein kurzer Blick auf console.log(visit) so etwas wie die folgenden in Ihrer Konsole yeild sollte:

[<textarea id=​"visit" rows=​"4" cols="40" class="visit" >​</textarea>​] 

Wie Sie sehen können, visit ist Ihr Element, also wieder, ich wiederhole, keine brauche an diesem Punkt, um dieses Element per ID aufzurufen.

Verwandte Themen