配列の長さに基づいて動的に作成されるドロップダウンを設定する方法については、いくつかの助けが必要です。長さが4の場合、作成された4つのドロップダウンオプションすべてに値を設定する必要があります。ボタンのクリック時にドロップダウンフィールドを動的に設定する方法
これは
<div class="col-md-2">
<button type="button" class="addBtn">
</div>
<div class="form-control" id="bookTemplate">
<div class="col-md-2">
<select class="myPopulatedValueElements">
<option value="Volvo">Volvo</option>
<option value="Merc">Merc</option>
</select>
</div>
</div>
マイJavascriptが何が起こることは、それが配列の長さに基づいて、新たなドロップダウンフィールドを追加しますが、それはそれぞれの追加に移入しないということである。この
var myCars = [
"Jaguar",
"Limo",
"BMW",
"Ford Mustang",
"Audi"
];
for (var i = 0; <myCars.length; i++) {
$(".addBtn").click()
}
$('.myPopulatedValueElements').each(function(index){
var carCounter = 0;
var optionCounter = 0;
$(this).find('option').each(function(){
if($(this)[optionCounter] == myCars[carCounter]){
$(this)[optionCounter].attr('selected', 'selected')
carCounter ++
}else{
optionCounter++
}
});
});
のように見える私のhtmlコードでありますフィールドを配列要素で置き換えます。私が間違ってやっていることに関する助けてください?
あなたが何をしているのかちょっと混乱しています。マークアップを見ると、1つの選択しかありません。あなたが論理的であることを見て、あなたの配列に車があるのと同じ回数だけaddBtnをクリックしていますが、それはそのクリックイベントと関連するロジックを持っていないようです。なぜそれをやっているのかは不明です。 – Taplar
この部分を書き換えてください。私には分かりません。「配列の長さに基づいて新しいドロップダウンフィールドが追加されますが、追加された各フィールドに配列要素が追加されるわけではありません。 – Adriano
@Taplar bookTemplateは、ボタンクリックで表示されるドロップダウンのフォームの隠れた部分です。それらはプレースホルダのようなものです。そのロジックは、私は<選択クラス=「myPopulatedValueElements」>のようなものを期待していた配列の長さである <オプション値は=「ジャガー」>ジャガー <選択したクラス=「myPopulatedValueElements」> <オプション値は "Limo"> など –