UPDATE:Danのコメントごとにコードが更新されました。javascriptで動的にチェックボックスのリストを作成するには
私が取り組んでいるプロジェクトに問題があります。私は上記の選択ドロップダウンで選択されているものに応じて、チェックボックスのリストを作成する必要があります。私はこれにjavascriptを使用したいと思います。上記の選択に応じて選択ドロップダウンを作成することができましたが、クライアントは代わりにチェックボックスを必要とします。今回はチェックボックスを作る以外は本質的に同じ方法で行うと思っていましたが、動作させることはできません。私は通常私のプログラミングのためにPHPを使用するので、あまりにもうまくjavascriptを知らない。ここでは、私はドロップダウンメニューを選択する必要があります....どのようなチェックボックスの代わりにリストを作るための最良の方法でしょうか?このコードは、読みやすいように大幅に削減されています(ここで重要な部分のみがここにあります)。
コード:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function populate(slct1,slct2){
var s1 = document.getElementById(slct1);
var s2 = document.getElementById(slct2);
s2.innerHTML = "";
if(s1.value == "Cat1"){
var optionArray = ["Subcat1","Subcat1.1","Subcat1.2"];
} else if(s1.value == "Cat2"){
var optionArray = ["Subcat2","Subcat2.1","Subcat2.2"];
} else if(s1.value == "Cat3"){
var optionArray = ["Subcat3","Subcat3.1","Subcat3.3"];
}
for(var option in optionArray){
if (optionArray.hasOwnProperty(option)) {
var pair = optionArray[option];
var newOption = document.createElement("option");
newOption.value = pair;
newOption.innerHTML = pair;
s2.options.add(newOption);
}
}
}
</script>
</head>
<body>
<h2>Dynamic Select Dropdown</h2>
<hr />
Choose a Category:
<select id="slct1" name="slct1" onchange="populate(this.id,'slct2')">
<option value=""></option>
<option value="Cat1">Cat1</option>
<option value="Cat2">Cat2</option>
<option value="Cat3">Cat3</option>
</select>
<hr />
Choose Subcategory:
<select id="slct2" name="slct2"></select>
<hr />
</body>
</html>
任意の助けいただければ幸いですし、私はあなたがどんな展開に助けを必要に応じて好意を返済するために全力をしようとするだろう。
'for(optionArrayのvarオプション)'には 'optionArray'のネイティブプロパティがあなたは嫌いです。 [hasOwnProperty](https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/hasOwnProperty)を参照してください。 http://jsfiddle.net/dandv/9aZQF/ –
Danさんに感謝します。あなたの入力を反映するようにコードを更新しました。私の主な問題を解決するために必要なことをどうやってやるべきか、どんな考えですか? – stereoscience
私はちょうど完全な実際の例で、[回答](http://stackoverflow.com/a/13330382/1269037)を投稿しました:) –