it-swarm.com.de

Wie setze ich den Wert einer Textbox mithilfe eines Ankers mit jQuery?

Ich habe ein Textfeld, dessen Wert ich basierend auf dem inneren Text eines Ankertags festlegen möchte. Mit anderen Worten, wenn jemand auf diesen Anker klickt:

<a href="javascript:void();" class="clickable">Blah</a>

Ich möchte, dass mein Textfeld den Text "Blah" enthält. Hier ist der Code, den ich gerade benutze:

<script type="text/javascript">
    $(document).ready(function(){
        $("a.clickable").click(function(event){
            $("input#textbox").val($(this).html());
        });  
    });
</script>

Und in meinem HTML-Code gibt es eine Liste von Ankertags mit der Klasse "clickable" und ein Textfeld mit der ID "textbox".

Ich habe den obigen Code durch Code ersetzt, um nur eine Javascript-Warnung mit $ (this) .html () anzuzeigen, und es scheint, den richtigen Wert anzuzeigen. Ich habe auch das $ (this) .html () geändert, um eine fest codierte Zeichenfolge zu sein, und es legt den Textfeldwert korrekt fest. Aber wenn ich sie kombiniere, wird das Textfeld einfach gelöscht. Was mache ich falsch?

25
Kevin Pang

Ich habe dieses Code-Snippet geschrieben und es funktioniert einwandfrei:

<a href="#" class="clickable">Blah</a>
<input id="textbox">
<script type="text/javascript">
    $(document).ready(function(){
        $("a.clickable").click(function(event){
            event.preventDefault();
            $("input#textbox").val($(this).html());
        });  
    });
</script>

Vielleicht haben Sie vergessen, Ihren Links einen klickbaren Klassennamen zu geben?

52
Falco Foxburr

Führen Sie die folgenden Schritte aus, um den Wert eines Textfelds mit der ID "textbox" in jQuery zuzuweisen

$("#textbox").val('Blah');
14
max

Beachten Sie nur, dass das Präfix tagName in einem Selektor langsamer ist als die Verwendung der ID. In Ihrem Fall erhält jQuery alle Eingaben, anstatt nur die getElementById zu verwenden. Benutze einfach $ ('# textbox')

6
redsquare

Führen Sie die folgenden Schritte aus, um den Wert eines Textfelds zuzuweisen, dessen ID "textbox" in JQuery ist

$ ("# textbox"). get (0) .value = "blah"

4

Folgendes redsquare: Du solltest in href keinen Javascript-Code wie "javascript: void ();" - es ist falsch. Verwenden Sie besser zum Beispiel href = "#" und dann in Ihrer Ereignisbehandlungsroutine als letzten Befehl: "return false;". Und noch besser - in href korrekten Link verwenden - wenn der Benutzer Javascript deaktiviert hat, folgt der Webbrowser dem Link - in diesem Fall sollte Ihre Webseite mit Eingaben, die mit dem Wert dieses Links gefüllt sind, neu geladen werden.

1
Falco Foxburr