【问题标题】:How to get the changed input box value?如何获取更改后的输入框值?
【发布时间】:2018-03-05 06:38:17
【问题描述】:

我的 jquery 如下,

$(document).on('click', '.save_button', function (e) { 
    var amount = $('.actual_pay').val();
});

这意味着当用户单击类save_button 的按钮时,脚本将执行并将var amount 的值设置为类actual_pay 的字段的值。

到目前为止没有问题并且工作正常,但是类名actual_pay的输入框是可编辑的,并且任何时候可以更改值,我必须检测输入框的更改值,为此我试过了

var amount = $('.actual_pay').val().change(); 

但它显示错误:

.change 不是函数。

如何检测actual_pay类发生的变化并将变化的值存储到数量变量中?

【问题讨论】:

    标签: javascript php jquery


    【解决方案1】:

    您可以附加一个input 事件监听器。

    var amount;
    $('.actual_pay').on("input", function(){
      console.log("Something is changed in actual_pay");
      amount = $(this).val(); // save val
    })
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input class="actual_pay">

    调用输入事件的动作是

    • 在元素中输入一些文本。
    • 剪切、删除或粘贴某些内容。
    • 将一些内容放入元素中。 (仅在 Google Chrome 和 Safari 中)

    【讨论】:

    • 是否有任何选项可以与$('.actual_pay').val(); 一起更改此设置,而不提供单独的功能?
    • @ManiRaj 对不起,我不明白你的问题。你能解释一下吗?
    • 我的意思是我需要将它设置为一个变量,我该如何用你的答案来做到这一点?该变量应该具有更改的值..
    • 将 console.log 更改为 amount = $(this).val(); 假设 amount 是一个全局变量
    • @ManiRaj 你想为变量设置什么?在哪里?
    【解决方案2】:

    $('.actual_pay').val().change(); 不起作用,因为这是错误的方法。您可以通过以下方法进行

    $('.actual_pay').on('input',function(){
     alert('Something Modified');
    });
    

    【讨论】:

      【解决方案3】:

      你可以通过这个函数获取那个输入框的值:

      $( "input.actual_pay" ).keyup(function() {
      
              var amount = $(this).val();
          });
      

      如果您要手动更改该输入,您将使用“keyup”,否则您应该使用

      $( "input.actual_pay" ).change(function() {
      
              var amount = $(this).val();
          });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-06-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-21
        • 2010-09-18
        • 2013-02-01
        • 1970-01-01
        相关资源
        最近更新 更多