jQuery值存在于数组中

时间:2017-06-04 20:36:01

标签: jquery arrays contains exists

我在HTML,PHP和jQuery中使用联系表单。

最近,我尝试保护整个表单,为了实现这一点,我使用了这样的数组:

var parameters = [
        {
            'format': 'email',
            'value': 'bernard.dupont@yahoo.fr'
        },
        {
            'format': 'subject',
            'value': 'Hello world'
        },
        {
            'format': 'message',
            'value': 'Good morning !'
        }
    ]`

这是我的代码:

function verificationInput(array, format, param, field, length) {
    var test = verificationFormat(format, param, length);

    if (!test) {
        $('#' + field).removeClass('valid').addClass('invalid');
    } else {
        $('#' + field).removeClass('invalid').addClass('valid');
    }

    var added=false;
    $.map(array, function(key, item) {
        if (item.value == param) {
            item.value = param;
            added = true;
        }
    });
    if (!added) {
        array.push({format: format, value: param});
    }
}

如果格式存在则更改值,如果存在则更改值。

1 个答案:

答案 0 :(得分:2)

为什么不使用格式键入的数据结构?使用起来会容易得多:

add_action( 'woocommerce_email_after_order_table', 'lnz_hook_content', 1);

function lnz_hook_content() {

echo 'hooked'; // Test Purposes only
echo $order->user_id;

然后你的代码看起来像这样:

var parameters = {
    email: 'bernard.dupont@yahoo.fr',
    subject: 'Hello world',
    message: 'Good morning !'
};

这将添加格式(如果尚未存在),否则更新与该格式相关联的值。

如果您需要迭代参数,仍然可以使用parameters[format] = param;

相关问题