刷新不会将值归零,而是将其转换为值列表

Refresh doesn't zero values, turns it into a list of values

本文关键字:转换 列表 归零 刷新      更新时间:2023-09-26

所以我试图做一个位域与值从复选框在我的形式。但是,每当刷新页面或提交验证失败时,它不会将值归零,而是将其转换为列表。

var priceSum = 0;
$('.price:checked').each(function() {
    priceSum += parseInt(this.value);
});

$('#form').submit(function() {})

里面

如果没有验证错误或刷新,则得到正确的值。但是,如果这些事件确实发生,它将值转换为列表。例如,假设验证在成功之前失败了两次,那么我将得到0,0,4

,而不是得到4。

进一步审查,我很确定这与我如何将此附加到表单有关var prices = $('<input>').attr("type", "hidden").attr("name", "priceSum").val(priceSum); $('#form').append($(prices));

会不会每次都附加值呢?如果是,是否有办法删除已经存在的隐藏字段?

谢谢

如果每次都无法避免创建隐藏输入,则可以先删除它:

$('#form [name=priceSum]').remove();

即使输入不存在,也可以安全地这样做。然后它只会找到0个元素,remove调用将不做任何事情。

会不会每次都附加值呢?

是的。

仅在priceSum输入不存在时追加。