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

如何使用jQuery将符合条件的表单值传递到隐藏表单字段

原有代码存在以下问题:

  • 事件监听仅绑定了留言字段的输入事件,勾选复选框、单选框时不会触发隐藏字段的更新
  • 字段选择器类名和HTML实际类名不匹配,导致单选、复选框取值失败
  • 员工数量、多地点字段的取值逻辑完全缺失
  • 空值未过滤,会出现多余的空占位和连续分隔符
  • 多地点字段未做仅传"是"的判断

修正后完整代码

$(document).ready(function() {
  // 所有表单字段绑定更新事件,输入、选择操作均触发隐藏字段同步
  $('input, textarea').on('keyup change', updateHiddenField);
  
  function updateHiddenField() {
    let fieldValues = [];
    // 1. 问题/留言
    const comment = $('#13005').val().trim();
    if (comment) fieldValues.push(comment);
    // 2. 感兴趣的产品,多选中的取值用逗号拼接为单个值
    const products = $("p.fCustom_LR_FormServices input:checkbox:checked").map(function(){
      return $(this).val();
    }).get().join(',');
    if (products) fieldValues.push(products);
    // 3. 所属行业
    const industry = $("p.fRAQFormIndustry input:radio:checked").val();
    if (industry) fieldValues.push(industry);
    // 4. 员工数量
    const employeeNum = $("p.fCustom_LR_FormEmployees input:radio:checked").val();
    if (employeeNum) fieldValues.push(employeeNum);
    // 5. 多地点标识,仅选"是"时传入值
    const multiLocationVal = $("p.Custom_LR_FormMulitLocation input:radio:checked").val();
    if (multiLocationVal === '47787') fieldValues.push('true');
    // 所有非空字段用管道符拼接赋值给隐藏字段
    $('#14604').val(fieldValues.join(' || '));
  }
});

调整说明

  • 覆盖所有表单操作场景,不会出现选择单选/复选框后隐藏字段不更新的问题
  • 自动过滤无值字段,不会出现连续管道符的异常格式
  • 多选的产品值内部用逗号分隔,避免和字段间的管道符混淆
  • 严格遵循需求仅在多地点选"是"时传入true值

内容的提问来源于stack exchange,提问作者Katy H.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 16:27:00