jquery:以数组格式检索提交的名称值

标签 jquery

提交时,我需要收集一系列具有数组格式的通用名称的复选框字段的值。我尝试做类似的事情:

$('form').submit(function(e){   
  $(':input:checkbox[name=fields[]]', this).each(function(){
    console.log($(this).attr('name'));
    console.log($(this).val);
  });
});

但是“[name=fields[]]”并没有限制我认为应该的方式。 我最终需要做的是确定从该字段数组中检查了多少个复选框。我只是在弄清楚条件时发送到控制台日志。

最佳答案

编辑:

$('form').submit(function(e){   
    var fields = new Array();
    $(':input:checkbox[name*=fields]', this).each(function() {
        index_a = $(this).attr('name');
        if (fields[index_a] == undefined) fields[index_a] = 0;
        if ($(this).is(':checked')) fields[index_a] += 1;
    });
    return false;
});

http://jsfiddle.net/daybreaker/7UFs6/3

这将返回一个 fields 数组,其中包含每个 fields[whatever] 的键以及等于每个 field[whatever] 中选中的复选框数量的值

在我的 jsfiddle 示例中,我使用 fields[opt1]fields[opt2],尽管从技术上讲,使用带括号的键可能根本不是一个好主意在其中,它起作用了。如果需要,您可以执行一些正则表达式来提取其中的 opt1 并将其作为 key 。

关于jquery:以数组格式检索提交的名称值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6333535/

相关文章:

javascript - JQuery UI Datepicker css 看起来非常有问题

javascript - 子数组中的 ionic /Angular 多重过滤器

jquery - 使用 jQuery 遍历 HTML 表格,将表格中的数据转换为 JSON

jquery - JQuery 插件和函数之间的区别

javascript - 使用 jQuery/Javascript 提交表单而不忽略 "required"标签

php - Jquery UI 日历显示 mysql 日期?

jquery - 点击后CSS悬停状态变为非事件状态

jquery卸载/绑定(bind)可靠的跨浏览器解决方案

javascript - 这个模式的名称/目的是什么?

javascript - 从 url 中删除空查询字符串