jQuery .bind()不会更新1.9.1中的值

时间:2015-01-15 10:33:12

标签: javascript jquery bind

在jQuery 1.8.1中,当我使用下面的代码时,函数validateValue()被更新的值触发。在1.9.1中,它使用DOM中的第一个值,而不是输入的内容。任何解决方案还是这个?

function getValueFromInput() {
  var inputElement = $('#value');
  var dropdownElement = $('#currency');

  inputElement.bind('change keydown keyup',function() {
    var inputValue = $('#value').attr('value');
    validateValue(inputValue);
  });


  dropdownElement.bind('change keydown keyup',function() {
    validateValue(inputValue);
  });

}

2 个答案:

答案 0 :(得分:1)

而不是:

var inputValue = $('#value').attr('value');

我必须使用:

var inputValue = $('#value').val();

答案 1 :(得分:0)

也不要缓存该值,而是从DOM元素中找到它以反映最新的输入值。

dropdownElement.bind('change keydown keyup',function() {
//validateValue(inputValue);
validateValue($('#value').val());
});