繁体   English   中英

jquery 如何获取输入的先前值和新值

[英]jquery how to get input previous and new value

我在 javascript 中遇到问题。 我想获取输入字段previous value and current value

我的代码:

 $(document).on('change', '#licensekey', function () { var prev = $(this).data('val'); //undefined var current = $(this).val(); console.log("Prev value " + prev); console.log("New value " + current); });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <label> License Key</label> <input id='licensekey' type='text' class='input'>

我应该怎么办? 任何人都可以帮助我。

您可以将prev存储在一个变量中,如下所示:

 var prev = null; $(document).on('change', '#licensekey', function () { var current = $(this).val(); console.log("Prev value " + prev); console.log("New value " + current); prev = current; });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <body> <label> License Key</label> <input id='licensekey' type='text' class='input'> </body>

你从来没有设置$(this).data('val', current)所以没有理由期望它从 undefined 改变

 $(document).on('change', '#licensekey', function () { var prev = $(this).data('val'); //undefined first time only var current = $(this).val(); console.log("Prev value " + prev); console.log("New value " + current); // store current for next change $(this).data('val', current) });
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <label> License Key</label> <input id='licensekey' type='text' class='input'>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM