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

jQuery空值判断赋值问题:customernamemulti为空时设Applying_credit_value为1000

问题修复与实现方案

代码问题排查

  • 属性选择器语法不完整:$('[id^="customernamemulti')和$('[id^="Applying_credit_value')都缺少闭合的"],导致选择器失效
  • 变量名拼写错误:else if分支里的customernamemult应为customernamemulti,少写了末尾的i
  • 全局选择元素导致逻辑错误:循环中直接选取所有匹配前缀的字段,会把所有行的Applying_credit_value设为同一个值,没有针对单行对应字段操作

修正后的核心代码

var tableOutstandingBalanceRowCount = $('#Insurer_information tr').length - 2;

for (var i = 0; i < tableOutstandingBalanceRowCount; i++) {
  // 定位当前行的两个字段,避免全局选择
  var currentRow = $('#Insurer_information tr').eq(i + 1);
  var customernamemulti = currentRow.find('[id^="customernamemulti"]');
  var applyingCreditValue = currentRow.find('[id^="Applying_credit_value"]');

  // 用trim()过滤纯空格的情况,判断是否为空
  if (!customernamemulti.val().trim().length) {
    applyingCreditValue.val(1000);
  } else {
    applyingCreditValue.val(2000);
  }
}

必填验证实现

方案1:HTML原生验证

直接给所有customernamemulti输入框添加required属性,浏览器会自动拦截空值提交:

<input type="text" id="customernamemulti_xxx" required>

方案2:JS自定义验证(更灵活)

绑定提交事件,手动检查所有字段:

// 替换成你的提交按钮选择器
$('#submit-btn').click(function(e) {
  var hasEmptyField = false;
  $('[id^="customernamemulti"]').each(function() {
    if (!$(this).val().trim().length) {
      hasEmptyField = true;
      alert('客户名称字段不能为空');
      $(this).focus();
      return false; // 停止遍历
    }
  });
  if (hasEmptyField) {
    e.preventDefault(); // 阻止表单提交
  }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 07:20:29