You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

父表单传值至子表单后实现字段乘40自动赋值的技术问询

解决方案

问题核心是原代码仅监听字段的change事件,父表单传入的初始值不会触发该事件,因此需要在页面加载完成后主动执行一次计算逻辑,同时保留对手动修改的监听。

修改后的代码

const pallet = 40;

// 抽离计算逻辑为独立函数
function calculatePalletValue() {
  const inputVal = $('input[name="FreeNumberField_17"]').val();
  // 检查值是否有效,避免NaN
  if (!isNaN(inputVal) && inputVal !== '') {
    const result = +(pallet * parseFloat(inputVal)).toFixed(3);
    $('input[name="FreeNumberField_07"]').val(result);
  }
}

$(document).ready(function() {
  // 页面加载完成后立即执行一次,处理父表单传入的初始值
  calculatePalletValue();
  
  // 保留原有的change事件监听,处理手动修改的情况
  $("#FreeNumberField_17").change(calculatePalletValue);
});

关键改动说明

  • 把计算逻辑封装成独立函数calculatePalletValue,复用代码且便于维护。
  • 在页面就绪时先调用一次函数,确保父表单传入的初始值能被自动计算并赋值。
  • 增加值的有效性检查,避免输入非数字时出现NaN的问题。
  • 用parseFloat显式转换输入值,确保计算时的类型正确。

内容的提问来源于stack exchange,提问作者Jerry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 00:53:10