【问题标题】:Input field fill but show required after calculate with jQuery in wordpress输入字段填充,但在 wordpress 中使用 jQuery 计算后需要显示
【发布时间】:2022-01-20 16:16:49
【问题描述】:

添加输入字段并进入总字段工作正常,但仍然出现字段必需错误。 这是我的代码:

 jQuery(document , "#esb_subfield_cus_field_bqtshwwnrs").on('keyup', function(){
        var sum = 0;
        jQuery("input[type *= 'number']").each(function(){
            sum+jQuery(this).val();});jQuery('#esb_subfield__price').prop('readonly',true);jQuery("#esb_subfield__price").attr',sum);
        jQuery("#esb_subfield__price").val(sum);
    });

【问题讨论】:

  • 这里没有任何关于 require 的内容,您在 jQuery("#esb_subfield__price").attr',sum); 处有语法错误
  • 我正在尝试对 6 个字段求和并在另一个字段中得到总计,并且它工作正常但仍然出现错误,该字段是必需的
  • 欢迎来到 Stack Overflow。请提供一个最小的、可重现的示例:stackoverflow.com/help/minimal-reproducible-example

标签: php jquery wordpress


【解决方案1】:

考虑以下更改。

jQuery(function($){
  $("#esb_subfield_cus_field_bqtshwwnrs").on('keyup', function(event){
    var sum = 0;
    $("input[type='number']").each(function(i, el){
      sum = sum + parseInt($(el).val());
    });
    $('#esb_subfield__price').val(sum).trigger("change").prop('readonly', true);
  });
});

在你的.each() 中使用this 会起作用,但它是模棱两可的。最好使用indexelement 参数。这样您就知道您正在查看正确的元素。查看更多:https://api.jquery.com/each/

请记住,.val() 返回一个字符串。这应该转换为整数以进行加法。您可以使用sum = sum + n,但也可以使用sum += n,它会提供相同的结果,但对我来说,它有助于将其绘制出来,便于以后阅读。

如果没有完整的例子,我不知道keyup 是不是最好使用的事件。 input 可能会更好。

考虑阅读以下内容:https://wpmudev.com/blog/adding-jquery-scripts-wordpress/

【讨论】:

  • 感谢您的解决方案。总计在输入字段和值中,但是当我提交表单时,它给出“总标价字段是必需的。请输入它的值。”
  • @FurqanAkhtar 我在设置readonly 之前添加了一个change 事件。这可能需要帮助表明它具有验证价值。如果没有最小的、可重现的示例,就无法知道您收到此警报的原因。
  • 我正在删除必填字段选项,当我提交表单时,它的值会消失并提交
猜你喜欢
  • 1970-01-01
  • 2020-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-25
  • 1970-01-01
  • 1970-01-01
  • 2014-09-02
相关资源
最近更新 更多