2009-12-08 13 views
9

Ich habe eine Frage zum Löschen eines Eingabetextfeldes, wenn auf eine andere Dropdownliste auf derselben Seite geklickt wird, der Wert im Eingabetextfeld sollte gelöscht werden. Hier ist meine jQuery ftn. Die Warnmeldung wird jedes Mal angezeigt, wenn ich eine Option aus dem Drop-down-Menü auswähle, aber das Feld wird nicht gelöscht. Jede Idee, was die korrekte Syntax sein sollte:JQuery löscht ein Eingabetextfeld

jQuery(document).ready(function(){ 

     jQuery("[id$='serialNumForm:noSerialNumProductKey']").change(function() { 
      alert("In jquery change ftn!!"); 
      jQuery("[id$='serialNumForm:inputSN']").value=""; 
     });  
    }); 

Ich habe eine Form Id, damit ich die Id auf das Element id Namen vorge müssen. Die Warnung wird angezeigt, nur der Wert ändert sich nicht.

Antwort

19

Sie verwenden möchten:

jQuery("[id$='serialNumForm:inputSN']").val(""); 
+0

Danke für die prompte Antwort. – msharma

1

"jQuery (" [id $ = 'serialNumForm: inputSN'] ")" Aufruf nicht ein Eingabeelement zurückkehren - anstatt es gibt Ihnen ein jQuery-Objekt . Sie haben zwei Möglichkeiten:

verwenden das Kernelement zu erhalten:

jQuery("[id$='serialNumForm:inputSN']").get(0) 

Oder, wie Justin erwähnt, verwenden Sie die jQuery val() -Methode:

jQuery("[id$='serialNumForm:inputSN']").val(""); 

Der zweite Weg ist mehr verlässlich, da es den Wert auf alle übereinstimmenden Elemente anwendet, während der erste es nur auf das erste übereinstimmende Element anwendet (wie durch die 0 in get (0) angezeigt)

+0

Sie können auch jQuery ("[id $ = 'serialNumForm: inputSN']") [0] ausführen, um dieses dom-Element abzurufen, da das jQuery-Objekt ein Array ist. –

Verwandte Themen