我试图从不同选择标记中使用jQuery获取相同名称的值。jQuery:从具有相同名称的不同选择标记中获取值
以下是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)和第二个我选择第三个选项(索引3)。
此代码是为了获取用户对2或3种不同产品的输入并将其存储到cookie中以供进一步使用,但首先我需要将它作为数组存储,然后我可以将其存储为cookie中的json数组。
我试图通过元素的名称访问,但它只响应使用id的访问。
我想了几个小时,想不出办法。你的帮助将会很棒!
夫妇的事情。首先,'wineId'是each()中的一个变量。这意味着它将在每次迭代中被创建和销毁。如果你想让它坚持下去,把它移到每一个之外。其次,更多的侧面说明,你的选择元素都有相同的ID。 Id不能在单个页面上重复。他们是独特的ID。第三,只需使用'this.value'。你不必做$(this)。val()如果你所有后面的是选择的值。 – Taplar
首先,使用不同的名称和ID,并通过循环遍历不同的选择来创建一个数组。 – junkfoodjunkie