使用 if 来检测使用 jQuery 的类

问题描述 投票:0回答:2

我正在尝试将表单放入

serializedArray
中以引入 API,但我需要检测所有具有“image”类的元素,而不是像其他元素那样以相同的方式进行操作,而是将它们放入到单个数组中。问题是我不知道如何构建那个
if
条件。

我目前拥有的是:

add.serializeArray().forEach(function(input) {
    if(input.class === "images"){
        data[images].push(input.value);
    }
    else{
        data[input.name] = input.value;
    }
});

因此,我会检查所有输入元素,如果它们不属于此类,我会照常添加它们。

$( this )
正在获取类的未定义值,
input.class
也正在获取未定义的值。通过这种方法,我能达到的唯一属性是
name
value
(如上所示)

我也尝试用我在 w3schools 上找到的示例来解决这个问题,但似乎也不起作用:

serializeArray


javascript jquery css angularjs
2个回答
3
投票

您可以在这里看到信息

$(document).ready(function(){ $("button").click(function(){ var x = $("form").serializeArray(); $.each(x, function(i, field){ if($(this).hasClass("images")){ $("#results").append("if is sentence is true "+field.name + ":" + field.value + " </br>"); } else{ $("#results").append("if sentence is false "+field.name + ":" + field.value + " </br>"); } }); });



1
投票

add.serializeArray().forEach(function(input) { if($( this ).hasClass( "image" )){ data[images].push(input.value); } else{ data[input.name] = input.value; } });

所以,这就是我修复它的方法,因为问题在于元素输入没有任何类属性。我把它留在这里以防有人需要! 

© www.soinside.com 2019 - 2024. All rights reserved.