2

ここでの構文はわかりませんが、これまでのコードは次のとおりです...(注:3つのテキストボックスのIDを「#begmile」、「#endmile」、「#totmile」の形式で渡します。 'totmile'チェックボックスの値をendmile-bigmileに設定したい)

function subtract(begmile, endmile, totmile){
y=$(begmile).attr('value');
z=$(endmile).attr('value');
y=z-y;
$(totmile).setAttr('value',???);

}

ここまでの構文が正しいかどうかはわかりませんが、正しいと仮定すると(yがendmile-begmileに適切に設定されている場合、setAttrを使用してtotmileの値をyの値に設定するにはどうすればよいですか?

4

3 に答える 3

4

これは正しい構文です:

var href = 'http://cnn.com';

$(selector).attr('href', href);
于 2012-09-12T15:58:10.973 に答える
1

最後の行が正しいメソッドを呼び出していません:

$(totmile).setAttr('value',???);

する必要があります:

$(totmile).attr('value',???);

例えば

$(totmile).attr('value', y);//set the value to the variable "y"

代わりに呼び出し.val();て、フィールドの値を簡単に取得したり.val(newValue);、値を設定したりすることもできます。

また、「y」と「z」の値が実際に数値を表していない場合は、奇妙な結果が得られることに注意してください。

于 2012-09-12T15:58:35.373 に答える
0

このvalue属性は、現在のテキストボックスではなく、テキストボックスのデフォルト値を参照します。現在のものはvalue プロパティに保存されます。

function subtract(begmile, endmile, totmile) {
    document.getElementById(totmile).value =
      document.getElementById(endmile).value - document.getElementById(begmile).value;
}

JavaScript Sledgehammerはこのジョブには過剰すぎるため、これによりjQueryも不要になります。確実に#機能させるには、関数にIDを渡すときにを削除するだけです。

于 2012-09-12T16:00:00.813 に答える