jQueryを使用して同じ名前の別のselectタグから値を取得しようとしました。jQuery:同じ名前の別のselectタグから値を取得する
次はHTML
<div class="row">
<div class="col-md-3">
<h1><i class="fa fa-glass" aria-hidden="true"></i></h1>
<select class="form-control SelectWine" id="SelectWine" name="SelectWine[]">
<option value="1">Red</option> <option value="2">Green</option> <option value="3">White</option> </select>
</div>
<div class="col-md-3">
<h1><i class="fa fa-glass" aria-hidden="true"></i></h1>
<select class="form-control SelectWine" id="SelectWine" name="SelectWine[]">
<option value="1">Red</option> <option value="2">Green</option> <option value="3">White</option> </select>
</div>
</div>
次は、私はjQueryのにアクセスしていますがどのようにです:
$('.SelectWine').each(function (index){
var wineId=[];
wineId.push($(this).val());
console.log('Wid',wineId[0]);
console.log('Wid',wineId[1]);
console.log('Wid',wineId[2]);
});
Wid 1
Wid undefined
Wid undefined
Wid 3
Wid undefined
Wid undefined
を以下のように私は、コンソールログを取得しています私はよそれが値を無効にするたびに推測します。しかし、私は1つの配列に各選択タグからの値を格納する必要があります。
注::最初の選択タグはデフォルト(インデックス1)で、2番目の選択タグは3番目のオプション(インデックス3)を選択しました。
このコードは、2つまたは3つの異なる製品のユーザー入力を取得し、後で使用するためにクッキーに格納しますが、最初に配列として格納する必要があり、次にクッキーにjson配列として格納できます。
私は要素の名前を使ってアクセスしようとしましたが、idを使ってアクセスするためだけに応答しています。
私は何時間も試していましたが、方法を理解できません。あなたの助けは素晴らしいでしょう!
カップルの事。まず、 'wineId'はそれぞれの内部の変数です()。それは、それが作成され、すべての反復を破壊することを意味します。それを永続させたい場合は、それぞれの外に移動してください。第2に、より多くの副作用、両方の選択要素は同じIDを持っています。 IDは1つのページで繰り返すことはできません。それらはユニークなIDです。第三に、 'this.value'を使用してください。あなたは$(これ)をする必要はありません。あなたが後にいるすべてがselectの値である場合、val() – Taplar
まず、異なる名前とIDを使用し、異なる選択をループして配列を作成します。 – junkfoodjunkie