Code, um festzustellen, Wert der option funktioniert nicht wie erwartet

War ich versucht, um einige string-Vergleiche in javascript. Ich habe gesehen, dass mehrere tutorials und Beispiele, aber Sie scheinen nicht zu arbeiten. Mir fehlt etwas grundlegendes?

Versuch 1

function addAspect(aspect) {
    var print = document.createElement('p');
    var ptext;

    if (aspect == "Option1") ptext = document.createTextNode("This is option1");
}

Funktioniert nicht.

Dann fand ich dieses Beispiel, zu dem alle Leserinnen und Leser sagte, es funktionierte gut

function addAspect() {
    var print = document.createElement('p');
    var ptext;

    var aspect = String(document.getElementById("aspectResult").value);

    if (aspect == "Option1") ptext = document.createTextNode("This is option1");
}

Funktioniert nicht.

Ich habe auch versucht .toString() sowie die '===' genaue übereinstimmung Vergleich.

Vollständigen code

<html>
    <head>
    <script type="text/javascript">
        function addAspect()
        {
            var print = document.createElement('p');
            var ptext;
            var aspect = document.getElementById("aspectResult").value;
            if (aspect == "Option1"){
                ptext = document.createTextNode("This is option1");
            }
            print.appendChild(ptext);
            document.getElementById("mainBlock").appendChild(print);
        }
        </script>
    </head>
    <body>
        <form>
            <select id="aspectResult">
                <option value="Option1">Option1</option>
            </select>
            <input type="button" value="Check" onclick="addAspect()"/>
        </form>
        <span id="mainBlock">&nbsp</span>
    </body>
</html>

Irgendwelche Vorschläge?

  • Können Sie den html-Code für aspectResult?
  • eine Warnung, die auf Aspekt in der Zeile vor der if-Anweisung und zu sehen, was in dem popup - Alarm(Aspekt);
  • <select id="aspectResult"> <option value="Option1">Option1</option> </select> - eine option, so dass hings nicht bekommen kann verwirrend sein. Es ist in einem <form> - element. Danke. U.
  • die Benachrichtigung funktioniert, und es sagt 'Option1'
  • wenn Sie sagen, "funktioniert nicht" was bedeutet das?
  • Die var 'drucken' funktioniert hier aber....versucht es mit einem zufälligen Stück text
  • javascript-verwenden Sie single quate nur 'Options1' - und Kleinschreibung. versuchen Sie zu warnen, den Aspekt und das Ergebnis sehen
  • das erste Teil ist einfach nicht wahr. In JavaScript, sowohl doppelte als auch einfache Anführungszeichen verwendet werden können für string-Literale.
  • Wenn ich sage "nicht funktioniert" meine ich, dass 'funktioniert nicht' - es nicht zu tun, was die Sprache sagt. Die syntax wird mir sagen, was gedruckt werden soll auf dem Bildschirm, es ist nicht gedruckt, deshalb funktioniert es nicht
  • Benachrichtigungen funktionieren gut, bevor und nachdem Sie der wenn
  • siehe meine Antwort, nichts gedruckt, weil Sie einfach nicht drucken. Sie erstellen einen text-Knoten, aber nicht indem es überall!
  • E - ich bin, wie ich oben erwähnt, ich habe nur unterdrückt, diesem Teil des code - ich habe getestet dieses Teil obwohl, indem Sie eine zufällige Menge an text, die statt des Wertes des Elements aspectResult
  • drucken.appendChild(ptext); Dokument.getElementById("mainBlock").appendChild(print); - mainBlock ist ein <span> - dieser code funktioniert perfekt, aber wenn ich mit einem random text und nicht den Wert von element "aspectResult'
  • die Art der Aspekt kam heraus, dass 'string' btw
  • Ich habe auch überprüft dieses auf einer anderen Maschine zusammen - und es hat nicht funktioniert entweder...
  • Die ersten beiden Blöcke von code nutzlos sind, sind beide Funktionen nicht, etwas zu produzieren.

InformationsquelleAutor urema | 2011-05-20
Schreibe einen Kommentar