我正在尝试在复选框框的每个对象中标识一个属性,但是此代码仅返回数组中第一个对象属性的所需元素,作为我选中的框数。这是我的代码:
function() {
var checkedBoxes = $("[name='select-services']:checked");
checkedBoxes.each(function(){
console.log(checkedBoxes.attr("value"))
}
例如,如果三个选定框的值分别为“值1”,“值2”和“值3”,则我将收到三次“值1”输出。
答案 0 :(得分:1)
就像对attr()的描述一样:
获取匹配元素集中第一个元素的属性值,或为每个匹配元素设置一个或多个属性。
您现在正在做的是获得attr
中第一项的checkedBoxes
。但是,您想要获得的是您正在迭代的项目的价值。您可以在函数中使用$(this)
,如下例所示。
checkedBoxes.each(function(){
console.log($(this).attr("value"))
}
答案 1 :(得分:0)
以下代码为数组的每次迭代分配一个obj
引用,并使用其属性。问题是您在循环中每次都要查询checkedBoxes
。
function() {
var checkedBoxes = $("[name='select-services']:checked");
checkedBoxes.each(function(index, obj){
console.log(obj.attr("value"))
}