1

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> 

「1番」が変わったらそれに合わせて「2番」も変えたいです。したがって、この JQuery コード:

$('#num1').change(function() {
  var one = this.val();
  $('#num2').val(one);
});

しかし、それは言う:

Uncaught TypeError: Object #<HTMLInputElement> has no method 'val'

ライン上

var one = this.val()

私は何を間違っていますか?

4

3 に答える 3

12

.val()jQuery オブジェクトでのみ定義されます。thisこのプロパティを持たない DOM オブジェクトを返します。

コードを修正するには:

  1. $(this).val()、または
  2. 使用するthis.value
于 2012-10-25T05:08:23.923 に答える
4

thisjqueryオブジェクトではなくDOMオブジェクトです。またはのいずれかを使用できthis.valueます$(this).val()

$('#num1').change(function() {
  var one = $(this).val();
 $('#num2').val(one);
 });
于 2012-10-25T05:08:20.627 に答える
1

使用:$(this).val();代わりにthis.val();

デモ: JSFIDDLE

于 2012-10-25T05:11:56.473 に答える