Gravity Forms使用JS统计List中的行数并返回字段?

Posted

技术标签:

【中文标题】Gravity Forms使用JS统计List中的行数并返回字段?【英文标题】:Gravity Forms use JS to count rows in List and return to field? 【发布时间】:2019-03-01 15:00:23 【问题描述】:

我正在尝试以重力形式制作一个使用列表字段的注册表单,以便可以同时注册多个人。问题是我还需要知道有多少人注册,这样我才能为每个人收取费用。

使用 JS,我如何计算列表中的行数并将值传递给另一个字段?还是有更好的方法来做到这一点?

更新:

根据黑曜石时代的回答,这会偶尔刷新并输出到数量字段:

function updateQty() 
    var rows = document.querySelectorAll('.gfield_list_group').length; // Count rows
    var qty = document.querySelector('.ginput_quantity'); // Define output location
    qty.value = rows; // Put row count in location
    setTimeout(updateQty, 2000); // Repeat every 2 seconds

updateQty(); // Execute

【问题讨论】:

【参考方案1】:

我不熟悉特定插件的输出标记,但您可以使用 .querySelectorAll() 之类的内容轻松获取所有所需的元素。从这里,只需查询他们的 .length 即可轻松找到他们的数量。如果将此编号分配给变量,则可以稍后在要将其插入到不同的字段时引用它——这可以通过使用变量更新元素的 .innerhtml 来完成。

这可以在下面看到:

const amount = document.querySelectorAll('.row').length;
const output = document.querySelector('.output');
output.innerHTML = amount;
<div class="row">One</div>
<div class="row">Two</div>
<div class="row">Three</div>
<div class="row">Four</div>
<br />
<div class="output"></div>

【讨论】:

感谢您的帮助,您让我走上了正确的道路。我必须对其进行更改,以便它可以更新并输出到一个字段,但这基本上是您的建议。【参考方案2】:
<script>
jQuery.expr[':'].hasValue = function(el, index, match) 
  return el.value != "";
;
    
function updateQty() 
    var listFieldID = '#field_85_12 .gfield_list_12_cell1 input:hasValue';
    var totalFieldID = '#input_85_35';
    
    var totalRows = $(listFieldID).length; // Count rows
    var totalField = $(totalFieldID);

    console.log(totalRows); // For testing

    $( totalField ).val( totalRows +1 ).change();
    setTimeout(updateQty, 3000); // Repeat every 2 seconds

updateQty(); // Execute 

</script>

【讨论】:

以上是关于Gravity Forms使用JS统计List中的行数并返回字段?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Gravity Forms & Gravity Wiz Nested Forms 从嵌套表单中动态提取值

php Gravity Wiz // Gravity Forms Styles Pro //强制验证消息

php Gravity Wiz // Gravity Forms //按表单名称获取表单ID

php Gravity Wiz // Gravity Forms //添加日期合并标记的格式选项

如何在 Wordpress Gravity Forms 中使用 PHP 创建条目

php Gravity Wiz // Gravity Forms Coupons //允许零金额优惠券