2012-03-29 13 views
0

Ich habe ein Problem beim Generieren von HTML-Auswahloptionen durch JavaScript.HTML-Option Wert mit Schrägstrich

Im moment gibt es mehrere Möglichkeiten, um eine select, wie hinzufügen Optionen zu tun:

<select> 
... 
<OPTION value="value">text</OPTION> 
... 
</select> 

Dieses:

var cbo_Options = document.getElementById("cbo_Options"); 
cbo_Options.options[cbo_Options.options.length] = new Option("text", "value", false, false); 

mit

<select id="cbo_Options"></select> 

Dieses Skript wird generiert ist, was es sein sollte, aber beim Ausführen auf Internet Explorer (8 & 9), das Zitat s Marke ist weg. Wenn der Inhalt des Wertes mit Leerzeichen ("") oder "<" oder ">" beginnt, dann kommen die Anführungszeichen. Ich weiß nicht warum, aber auf Chrome gibt es immer Anführungszeichen.

So kommt das Problem, wenn der "Wert" mit Schrägstrich endet ("/"), dann wird das Snippet oben:

<select> 
... 
<OPTION value=value/>text</OPTION> 
... 
</select> 

und der Option-Tag schließt direkt nach dem Value-Attribute.

Ich habe versucht, "/" durch "/" zu ersetzen, aber ohne Erfolg.

Ist etwas nicht in Ordnung? Gibt es trotzdem etwas zu beheben?

Antwort

0

sollten Sie folgenden Code verwenden, um eine Option zu Ihrem Tag select

var cbo_Options = document.getElementById("cbo_Options"); 
    var newOption = document.createElement("option"); 
    newOption.value = "val"; 
    newOption.text = "text"; 
    cbo_Options.options[cbo_Options.length] = newOption; 
+0

Vielen Dank für Ihre Antwort Brij hinzuzufügen. Ich habe auch Ihren Vorschlag versucht, aber die OuterHTML immer noch '' –

+0

Sie müssen DOM inspizieren. Wenn Sie Ihre Quelle mit DOM Inspector wie DebugBar anzeigen, zeigt es kein Zitat (") für die Attributwerte. Sie müssen sich also nicht darum kümmern. Sie können dies überprüfen, indem Sie Ihre HTML-Tags mit Attributen verifizieren. – Brij

+0

Aber es hat Auswirkungen auf das "option" -Tag. Ich denke, es könnte Internet Explorer Verhalten sein, weil in Chrome das Tag gut gerendert wurde. Ich konnte keine Lösung für IE finden, aber ein Leerzeichen hinzufügen, bevor der Wert die einzige Möglichkeit ist, das zu haben Zitate zurück, und ich muss den Wert in den nächsten Schritten verarbeiten. Wie auch immer, danke für Ihre Hilfe, Brij. :) –