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

使用jQuery设置表单文本值问题:.val()仅获取初始值而非修改值

解决.val()只能获取文本框初始值的问题

老哥,我太懂你这个困扰了!你大概率是只在页面初始化的时候获取了一次field1的值,之后不管用户怎么修改field1,你的代码都没重新去读取最新的内容,所以才一直拿到初始的'please'。

下面给你两种靠谱的解决思路,按需选:

1. 实时监听输入变化(推荐)

用input事件监听field1的每一次输入操作(打字、粘贴、删除都算),只要值变了就立刻更新field2:

HTML结构示例

<input type="text" id="field1" value="please">
<input type="text" id="field2">

jQuery代码

// 页面加载时先给field2赋初始值
$('#field2').val($('#field1').val());

// 绑定input事件,实时同步最新值
$('#field1').on('input', function() {
  // 这里拿到的就是field1当前的最新值
  const latestValue = $(this).val();
  // 更新field2的值
  $('#field2').val(latestValue);
  // 如果需要更新你的helpMe变量,也在这里操作
  helpMe = latestValue;
});

如果你的需求是只有当field1失去焦点时才更新,可以把input换成change事件,它会在字段失去焦点且值有变化时触发。

2. 按需手动获取最新值

如果你不需要实时同步,而是在某个特定操作(比如点击按钮)时才更新field2,那就在操作触发时再去获取field1的当前值:

$('#someButton').on('click', function() {
  const currentValue = $('#field1').val();
  $('#field2').val(currentValue);
  helpMe = currentValue;
});

核心要点就是:不要只在页面加载时取一次值,要在值可能变化的时机(输入事件、点击事件等)重新获取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:02:26