jquery 改变 输入框 input 的值 动态监听值改变

本文介绍了一种使用JavaScript实现的输入变化触发更新的机制。当特定输入框的内容发生变化时,将自动计算当前负载与已定义体积之间的差值,并将结果实时更新到另一个显示字段中。此方法适用于需要即时反馈的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

$("#curload").bind('input propertychange', function() {
var curLoad=$(this).val();
vol=$("#vol").val();
var produceVol=curLoad-vol;
$("#produceVol").val(produceVol);
});
<think>我们正在讨论如何使用jQuery获取input输入框。根据引用[1]和[2],我们可以使用jQuery的事件监听方法来实时获取输入框。 引用[1]提供了一个示例:使用`on("input", function)`来监听输入事件,然后通过`$(this).val()`获取当前输入框。 引用[2]提到,在IE9以下版本中,`input`事件不被支持,可以使用`propertychange`事件替代。 因此,我们可以给出一个兼容性较好的方法: 1. 使用`on`方法同时监听`input`和`propertychange`事件(为了兼容旧版IE)。 2. 在事件处理函数中使用`$(this).val()`获取。 另外,如果不需要实时监听,只是需要获取输入框,可以直接使用`val()`方法。 下面我们分别介绍实时监听和直接获取的方法。</think>### jQuery 获取 input 输入框的方法详解 #### 一、实时监听输入变化 使用 jQuery 的 `on()` 方法监听 `input` 事件,可实时获取输入框内容: ```javascript $("#inputId").on("input", function() { let value = $(this).val(); // 获取当前输入 console.log("实时:", value); }); ``` > **说明**: > - `input` 事件在用户输入、粘贴或剪切时触发[^1] > - `$(this).val()` 获取当前输入框 > - IE9 以下需用 `propertychange` 替代(见兼容性方案) #### 二、手动获取输入 直接通过 `val()` 方法获取: ```javascript // 获取 let username = $("#username").val(); // 设置 $("#username").val("新内容"); ``` #### 三、兼容旧版 IE 的方案 ```javascript $("#inputId").on("input propertychange", function() { if(event.type === "propertychange" && event.propertyName !== "value") { return; // 过滤非变化事件[^2] } console.log("变化:", $(this).val()); }); ``` #### 四、表单提交时获取 ```javascript $("#myForm").submit(function(e) { e.preventDefault(); // 阻止默认提交 let email = $("#email").val(); console.log("提交的:", email); }); ``` #### 五、特殊场景处理 1. **获取密码框**: ```javascript let password = $("#password").val(); // 方法相同 ``` 2. **多输入框批量获取**: ```javascript $("input").each(function() { console.log($(this).val()); }); ``` > **注意事项**: > - 确保 DOM 加载完成后执行(代码放在 `$(document).ready()` 内) > - 动态生成的输入框需使用事件委托:`$(document).on("input", ".dynamic-input", fn)` [^1]: jQuery 官方事件文档:`input` 事件适用于 `<input>`, `<textarea>` 等元素 [^2]: IE 的 `propertychange` 事件会监听所有属性变化,需过滤非变更事件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值