javascript
  • jquery
  • html
  • css
  • dom
  • 2016-04-13 12 views 3 likes 
    3

    Ich versuche, Text am Ende eines Textarea mit jquery anhängen.Text an das Ende von Textarea mit jQuery anhängen

    meine HTML-Code sieht wie folgt aus:

    <textarea class='form-control' placeholder="Write something..." id="message" name="message" size='20'></textarea> 
    <fieldset class="form-group"> 
        <div class="checkbox"> 
        <label for="deptList"> 
         <label for="departments" id="deptList">Select a department 
         <small>use this in case you've set up your account to <a 
                   href="#"> include a department</a> at the end 
                  of the text 
                 </small> 
         </label> 
         <input type="checkbox" value="" class="checkbox-inline" id="deptCheck"> 
         <select class="form-control" id="departments"> 
         <option>Dept. 1</option> 
         <option>Dept. 2</option> 
         <option>Dept. 3</option> 
         <option>Dept. 4</option> 
         <option>Dept. 5</option> 
         <option>Dept. 6</option> 
         <option>Dept. 7</option> 
         </select> 
        </label> 
        </div> 
    
    </fieldset> 
    

    und mein Skript den Text anzufügen ist:

    $('#deptCheck').click(function() { 
        var theMessage = $("#message").text(); 
        var theDepartment = $("#departments").find(":selected").text(); 
    
        if ($(this).is(":checked")) { 
    
         console.log(theMessage + theDepartment); 
         $("#message").val(theMessage + theDepartment); 
        }else { 
         alert('you have included department in your text, please remove it to avoid extra charges'); 
        } 
    }); 
    

    bisher: - ich den Wert des Tropfens hinzufügen Down-Option zu der Textbereich ABER wenn ich es hinzufüge, löscht es den ganzen vorhandenen Text.

    Wha ich erreichen möchte ist, dass ein Benutzer etwas Text in den Textbereich eingibt, der Benutzer wählt dann eine Option aus dem Dropdown im Textbereich und dann wird der Text des Dropdowns am Ende der eingegebenen hinzugefügt Text im Textbereich. Ich habe es aus Material online versucht, aber ich scheine es nicht richtig zu machen. Wo ich liege ich falsch?

    hier ist ein Link zu einer Geige aus dem gleichen JS Fiddle

    +0

    ** [So] (https://jsfiddle.net/Guuprasad_Rao/h2dp1oqu/9/) **? –

    +0

    Vorherige Antwort: http://stackoverflow.com/questions/7058864/add-text-to-textarea-jquery – sjr59

    Antwort

    6

    die text innerhalb eines textarea Sie die val() Funktion verwenden, um zu erhalten: $("#message").val();

    $('#deptCheck').click(function() { 
    
        var theMessage = $("#message").val(); 
        var theDepartment = $("#departments").find(":selected").text(); 
    
        if ($(this).is(":checked")) { 
    
        console.log(theMessage + theDepartment); 
        $("#message").val(theMessage + theDepartment); 
        } else { 
        alert('you have included department in your text, please remove it to avoid extra charges') //disable input 
        } 
    }); 
    

    Demo: https://jsfiddle.net/h2dp1oqu/8/

    +1

    Das ist, was ich @Cristy brauchte Danke Kumpel! –

    +1

    @falcon Kein Problem. Dies war ein Fehler, der wirklich leicht zu fangen war, wenn Sie Ihren Code debuggen würden. Wenn Sie 'console.log (theMessage)' verwendet haben, nachdem Sie den Text aus dem 'textarea' erhalten haben, hätten Sie gesehen, dass der Wert nicht korrekt war. Danach hätten Sie festgestellt, dass das Problem von der '.text()' Funktion kommt, die nicht den korrekten Wert zurückgibt. Und wenn Sie auf Google "Text von Textarea jQuery" suchten, hätten Sie die richtige Funktion '.val()' gefunden. – Cristy

    +0

    Vielleicht möchten Sie auch diese Antwort lesen: http://StackOverflow.com/A/8854317/407650 – Cristy

    1

    Ersetzen Sie Ihre zwei ersten Zeilen durch

    var theMessage = $("#message").val(); 
    var theDepartment = $("#departments").val(); 
    
    Verwandte Themen