添加输入名称=“TotalInline[]”的所有值

Posted

技术标签:

【中文标题】添加输入名称=“TotalInline[]”的所有值【英文标题】:Add all values with input name="TotalInline[]" 【发布时间】:2012-09-04 17:37:59 【问题描述】:

如何从名称为 name="TotalInline[]" 的所有输入中添加值?

以下不接缝工作:

    var total = 0;
    $.each('input[name="TotalInline[]"];,function() 
        total += this;
    );

【问题讨论】:

【参考方案1】:

这应该可行:

var total = 0;
$('input[name="TotalInline"]').each(function() 
    // assuming you have ints in your inputs, use parseFloat if those are floats
    total += parseInt(this.value, 10); 
);

【讨论】:

我实际上想用name="SomeName[]" 进行选择,但是在更改html 语法之后就足够了!谢谢。 名称中实际上包含[]。你没有那个。 这不是一个有效的名称。见w3.org/TR/html401/types.html#type-name @dystroy - 您链接的规范已过时。 name 属性中绝对欢迎使用括号。这就是你标记数组的方式。 @dystroy HTML5 允许,php 使用它来自动构建数组。大多数浏览器实际上都允许“无效”字符。【参考方案2】:
var total = 0;
$.each($('input[name="TotalInline[]"]'), function() 
    total += parseInt(this.value, 10);
);

【讨论】:

我以为你必须 \\ 转义括号,但 apparently you don't.【参考方案3】:

你有一些严重的语法错误,试试这个:

var total = 0;
$('input[name="TotalInline[]"]').each(function () 
  total += parseInt(this.value, 10);
);

【讨论】:

【参考方案4】:

试试这样...

var total = 0;
$('input[name="TotalInline[]"]').each(function() 
        total += parseInt($(this).val(),10);
    );

【讨论】:

虽然我喜欢jQuery,但$(this).val()真的没必要。【参考方案5】:
var total = 0;

$('input[name="TotalInline[]"]').each(function() 
    total += +this.value.replace(/[^\d.]/g, '');
);
使用快速正则表达式仅过滤掉数字(和小数点)。 使用+ 前缀转换为数字。

【讨论】:

+ 转换为数字的好技巧!

以上是关于添加输入名称=“TotalInline[]”的所有值的主要内容,如果未能解决你的问题,请参考以下文章

GravityForms 上的自定义输入名称

win10系统添加vpn连接服务器名称或地址填啥

使用 Jquery 添加和删除输入字段后计算输入字段

在表单操作上添加输入名称的 url -segment

错误“您输入的应用名称已被使用。”添加新语言时

如何使用php将2个变量输入添加到txt文件保存名称