数组推送功能不工作在谷歌浏览器

array push function not working on google chrome

本文关键字:工作 谷歌浏览器 功能 数组      更新时间:2023-09-26

我想从一个div中获取多个复选框值。我的代码在firefox上执行成功,但在其他浏览器中不起作用。我的代码看起来像

var amenity_array = [];
var listofParameters = $("#room-amenity input:checkbox");
for (var index in listofParameters) {
    if ($(listofParameters[index]).attr('checked')) {
        var ste = $(listofParameters[index]).attr('value');
        amenity_array.push(ste);
    }
}
alert(amenity_array);

在上面的代码amenity_array警报内的花括号,但这并不适用于chrome。

几个建议/bug:

  1. 确保选择器正确选择复选框
  2. 使用:checked只选中选中的复选框
  3. 不使用for...inarray上进行循环
  4. 你可以使用each()来获得checked复选框,并将它们添加到你的数组
  5. 确保至少有一个复选框被选中,否则数组中将没有元素
代码:

var amenity_array = [];
$('#room-amenity input:checkbox:checked').each(function() {
    amenity_array.push($(this).val());
});
console.log(amenity_array);