2012-03-29 32 views
0

JavaScriptでHTML選択オプションを生成する際に問題が発生しています。スラッシュ付きのHTMLオプション値

など行うselectにオプションを追加する方法はいくつかあります:

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

この:このスクリプトはに生成されます

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

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

とはそれは何をすべきかですが、Internet Explorer(8 & 9)で実行している場合は、マークがなくなった。値の内容がスペース( "")または "<"または ">"で始まる場合は、引用符が使用されます。私は理由を知らないが、クロムには常に引用符がある。

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

とタグは右のvalue属性の後に閉じOPTION:

だから、問題はは、「値」はスラッシュ(「/」)で終わっているときに上記のスニペットはなっています。

"/"を "/"に置き換えようとしましたが、成功しませんでした。

何か間違っていますか?とにかくこれを修正するには?

答えて

0

あなたの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

にオプションを追加するために、次のコードを使用する必要がありますご返信ブリジいただきありがとうございます。私もあなたの提案を試みましたが、outerHTMLは依然として '' –

+0

DOMを検査する必要があります。 DebugBarのようなDOM Inspectorを使ってソースを見ると、属性値の引用符( ")は表示されないので、心配する必要はありません。属性を持つhtmlタグを確認することで確認できます – Brij

+0

しかし、私はIEのための解決策を見つけることができませんでしたが、値が唯一の方法を持っている前に1つのスペースを追加しました。私は次のステップで値を処理する必要があります。 とにかく、ありがとう、Brij :) –