所以我有一个主要用PHP生成的网站。在一页上,PHP会生成许多下拉列表,这些下拉列表的数量取决于数据库中的项目。
下拉列表的数量可以更改,但是我希望能够对其进行计数并在JS / Jquery中获取每个下拉列表的值。
目前,所有下拉菜单都具有相同的类名,但我认为我必须尝试为其赋予所有单独的ID。
我知道我可以容纳这样的物品:
var ammount = $(".myclass").length;
我只需要某种遍历这些方法的方式即可获得这样的单个值,而不必每次都获取该类的第一个值:
var input =$(".myclass").value;
我认为我将不得不使用PHP生成的个人ID,但我只是想知道这是否是另一种方式。
任何帮助或建议,将不胜感激。
答案 0 :(得分:2)
$(".myclass").each(function(i,e) {
console.log(e); //e gives you current item in loop
});
或
$(".myclass").each(function() {
console.log($(this).value);
});
答案 1 :(得分:2)
您可以通过遍历所有这些元素并将其值推入array
来获得array
中的值:
var vals = [];
$(".myclass").each(function() {
vals.push($(this).val());
});
如果要获取所有这些输入的总和:
var sum = vals.reduce((a,b) => (+a + +b));
演示:
var vals = [];
$(".myclass").each(function() {
vals.push($(this).val());
});
console.log(vals);
//Calculating sum of values
var sum = vals.reduce((a,b) => (+a + +b));
console.log(sum);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="myclass" value="10" />
<br/>
<input type="text" class="myclass" value="20" />
<br/>
<input type="text" class="myclass" value="30" />
<br/>
<input type="text" class="myclass" value="40" />
<br/>
<input type="text" class="myclass" value="50" />
<br/>