2

入力がキーアップされたときに簡単な加算計算をしようとしています。これが私のhtmlです:

<tr id="a">
        <td>
            <label>A</label>
        </td>
        <td>
            <label>Results/Action Orientation (asset)</label>
        </td>
        <td class="shade">
            <input id="a_per" type="text" />
        </td>
        <td class="shade">
            <input id="a_pot" type="text" />
        </td>
        <td class="shade">
            <input id="a_tot" class="totals" type="text" disabled="disabled" />
        </td>
</tr>

そして、これがキーアップイベントのjQueryです。

$('#a_per').keyup(function() {
    if($('#a_pot').value != "") {
        var tot = this.value + $('#a_pot').value;
        $('#a_tot').value = tot;
    }
});

#a_perまたは#a_potキーアップのいずれかで起動するように調整しますが、最初にこれが機能することを確認したいと思います。

どんな助けでも大歓迎です。ありがとう。

4

3 に答える 3

2

別の選択肢:

$('#a_per,#a_pot').keyup(function() {
  var a_per = +$('#a_per').val() || 0;
  var a_pot = +$('#a_pot').val() || 0;
  $('#a_tot').val(a_per + a_pot);
});​

実例

于 2012-05-15T20:53:00.637 に答える
1

.valueの使用を.val()に変更します。また、加算関数にparseFloatまたはparseIntを適用することもできます。そうしないと、文字列が連結されてしまいます。また、ラップthisは次のようなjQueryタグです。

$('#a_per').keyup(function() {
    if($('#a_pot').val() != "") {
        var tot = parseFloat($(this).val()) + parseFloat($('#a_pot').val());
        $('#a_tot').val(tot);
    }
});​
于 2012-05-15T20:47:50.673 に答える
1

値ではなく、を使用val()します。

$(function(){

   $('#a_per').keyup(function() {
     var item=$(this);

      if(item.val() != "") {
         var tot = parseInt(item.val()) + parseInt($('#a_pot').val());
         $('#a_tot').val(tot);
      }
   });

});

作業サンプル: http: //jsfiddle.net/zzS3U/9/

于 2012-05-15T20:54:13.870 に答える