JQuery中没有方法'val'

JJ *_*eck 1 javascript forms jquery

我有一个HTML表单

<div class="field"> 
  <label for="num1">Number 1</label> 
  <input id="num1" type="text" /> 
</div> 
<div class="field"> 
  <label for="num2">Number 2</label> 
  <input id="num2" type="text" /> 
</div> 
Run Code Online (Sandbox Code Playgroud)

当"数字1"改变时,我想改变"数字2"以匹配它.所以这个JQuery代码:

$('#num1').change(function() {
  var one = this.val();
  $('#num2').val(one);
});
Run Code Online (Sandbox Code Playgroud)

但它说:

Uncaught TypeError: Object #<HTMLInputElement> has no method 'val'
Run Code Online (Sandbox Code Playgroud)

在线上

var one = this.val()
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Ble*_*der 12

.val()仅在jQuery对象上定义.this返回没有此属性的DOM对象.

要修复您的代码:

  1. 使用$(this).val(),或
  2. 使用 this.value