当前位置:  开发笔记 > 编程语言 > 正文

从.focusout()的输入中检索.val()

如何解决《从.focusout()的输入中检索.val()》经验,为你挑选了1个好方法。

我有一系列具有相同类的动态生成的输入,例如:




在用户将数据输入到每个字段中之后,我要获取该数据并将其放置在隐藏输入的值字段中。

但是,我在寻找最好的方法时遇到了麻烦。到目前为止,我已经尝试过:

$(".addressitem").focusout(function() {
    var addressinput = $(this).val();
    console.log(addressinput);
});

$(".addressitem").change(function() {
    var addressinput = $(this).val();
    console.log(addressinput);
});

但是我什么也没出现在控制台中。

有人能指出我正确的方向吗?



1> Shyju..:

只要您在document.ready事件内定义它们,并且页面中没有任何其他脚本错误,这两种方法都应该起作用。

$(function(){

   $(".addressitem").change(function() {
    var addressinput = $(this).val();
    console.log(addressinput);
   });

   $(".addressitem").focusout(function() {
    var addressinput = $(this).val();
    console.log(addressinput);
   });

});

您可以使用浏览器控制台来验证页面中是否存在其他脚本错误。

还请记住,change焦点移开时,事件会在文本输入字段上发生。因此,当用户从文本框中更改焦点时,您将看到console.log。如果要即时更新,则应考虑使用keyUp事件

这是一个工作示例。


编辑:根据评论我有一个由Jquery单击功能生成的字段。我必须在click函数中移动代码才能使其正常工作。

不,您不需要。您可以简单地使用jQuery on委托方法。当您在上使用jQuery注册事件处理程序时,它将适用于DOM中当前和将来的元素(动态注入)。

所以你的代码将是

$(function(){

   $(document).on("change",".addressitem",function() {
     var addressinput = $(this).val();
     console.log(addressinput);
   });     

});

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有