プレーンjavascriptを使用して動的に選択にオプションを追加したいと思います。私が見つけることができるものはすべて、JQueryを含むか、選択を動的に作成しようとします。私が見つけた最も近いものは Javascriptのオプションで動的に入力タイプの選択を追加する であり、後者を行い、JQueryを含まない唯一の方法でした。私はそれを次のように試して使用しましたが:
daySelect = document.getElementById('daySelect');
daySelect.innerHTML += "<option'>Hello world</option'>";
alert(daySelect.innerHTML)
これを行った後、選択に変更はなく、アラートが表示されました
HELLO WORLD</option'>
これが単純な場合は謝罪しますが、私はjavascriptとWebプログラミング全般に非常に不慣れです。ご協力ありがとうございます。
編集:だから私はそのように与えられた提案を試みた。
daySelect = document.getElementById('daySelect');
myOption = document.createElement("option");
myOption.text = "Hello World";
myOption.value = "Hello World";
daySelect.appendChild(myOption);
これは、ページの選択をまったく変更していません。理由は何ですか?そして、アラートでコードが実行されていることを確認しました。
編集:アイデアは機能しましたが、ドロップダウンに値が表示されていないことがわかりました。理由はわかりませんが、私はそれを理解できます。
このチュートリアルでは、必要な作業を正確に示します。 javascriptを使用してHTML選択ボックスにオプションを追加
基本的に:
daySelect = document.getElementById('daySelect');
daySelect.options[daySelect.options.length] = new Option('Text 1', 'Value1');
私はこのような何かが仕事をするだろうと思います。
var option = document.createElement("option");
option.text = "Text";
option.value = "myvalue";
var select = document.getElementById("daySelect");
select.appendChild(option);
Document.createElement関数を使用して、選択の子として追加します。
var newOption = document.createElement("option");
newOption.text = 'the options text';
newOption.value = 'some value if you want it';
daySelect.appendChild(newOption);
.add()も機能します。
var daySelect = document.getElementById("myDaySelect");
var myOption = document.createElement("option");
myOption.text = "test";
myOption.value = "value";
daySelect.add(option);
最も簡単な方法は次のとおりです。
selectElement.add(new Option('Text', 'value'));
はい、それは簡単です。 IE8でも機能します。その他のオプションのパラメーターがあります。
ドキュメントを参照してください:
HTMLSelect Element .add (item [、before]);
新しいオプション (テキスト、値、defaultSelected、選択済み);
これを試して;
var data = "";
data = "<option value = Some value> Some Option </option>";
options = [];
options.Push(data);
select = document.getElementById("drop_down_id");
select.innerHTML = optionsHTML.join('\n');