-1

私は自分のスパンの答えを掛けようとしていました。

たとえば、値<span id="total_f">210</span>

ところで.21、それは %21 パーセントだったので、それ.21を掛けて合計を得る必要があります。オランダにいbtwますVAT

あなたがjqueryを見たら、var get_total私は掛けましたmul

私のjqueryは間違っていますか?

これは私のjqueryです

$(document).ready(function(){
   var sum = 0;
   $('input[name=sumof]').each(function(){
        sum += parseInt($(this).val());
   });
   $('input[name=total_f]').val(sum);
   $('#total_f').text(sum);

   var mul = parseInt($('input[name=total_f]').val());

   var get_total = mul * parseInt($('input[name=btw]').val());

   $('input[name=s_btw]').val(get_total);
   $('#s_btw').text(get_total);
});

私のhtml

<table cellpadding="5" cellspacing="0" width="100%">
    <tr>
        <td><strong>Sub Total</strong></td>
        <td>
        <?php
            if ( $get_total_computation['currency'] == 'euro' ) {
                $msg_tot = '&euro;';
            } elseif ( $get_total_computation['currency'] == 'usd' ) {
                $msg_tot = '&#36;';
            }
            echo $msg_tot;

        ?>                      
            <span id="total_f"></span>
            <input type="hidden" name="total_f" value="" />
        </td>
    </tr>
    <tr>
        <td>
            <?
            echo $get_total_computation['quo_btw'];
            $get_per = explode( '%', $get_total_computation['quo_btw']);
            ?>
            <input type="hidden" name="btw" value=".<?=$get_per[0];?>" />
        </td>
        <td>
            <span id="s_btw"></span>
            <input type="hidden" name="s_btw" value="" />
         </td>
    </tr>
    <tr>
        <td><strong>Total</strong></td>
        <td><?=$btw;?></td>
    </tr>
</table>
4

2 に答える 2

1

HTML を次のように更新すると (JS でのパフォーマンスが向上します):

<table cellpadding="5" cellspacing="0" width="100%">
  <tr>
    <td><strong>Sub Total</strong></td>
    <td>
      <?php
        // cleaner way to do what you
        // were trying to do here before
        $currencies = array(
          'euro' => '&euro;', 
          'usd' => '&#36;'
        );
        echo $currencies[$get_total_computation['currency']];
      ?>                      
      <span id="total_f">
        <input type="hidden" name="total_f" />
      </span>
    </td>
  </tr>
  <tr>
      <td>
          <?php echo $get_total_computation['quo_btw']; ?>
          <!-- 
            removed the hidden input that was here as it's not 
            necessary unless you need to submit the btw value 
            with the form? 
          -->
      </td>
      <td>
          <span id="s_btw">
            <input type="hidden" name="s_btw" data-btw="<?php echo $get_total_computation['quo_btw']; ?>" />
          </span>
       </td>
  </tr>
  <tr>
      <td><strong>Total</strong></td>
      <td><?php echo $btw; ?></td>
  </tr>
</table>

次に、次のようなものを使用して、必要なことを行うことができます。

$(document).ready(function() {
  var $subTotal = $('#total_f'),
      $total = $('#s_btw'), 
      subTotal = 0,
      total, btw;

  $('input[name=sumof]').each(function() {
    // can multiply by 1 to convert to
    // number instead of using parseInt();
    subTotal += (this.value * 1);
  });

  // btw is stored in #s_btw's data attr so 
  // we can get to it like this, remove the % 
  // symbol and multiply by 1 to convert to
  // a number instead of using parseInt();
  btw = ($total.data('btw').replace('%', '') * 1);

  // total is subTotal + 21% of subTotal so:
  total = subTotal + ((subTotal * btw) / 100);

  // update the UI
  $total.append(total);
  $subTotal.append(subTotal);
  $total.find('input').val(total);
  $subTotal.find('input').val(subTotal);
});
于 2012-12-10T09:47:52.737 に答える
1

parseFloat10 進数を含む値を解析するために使用します。あなたの場合、不適切なbtw値が含まれてい.21ますparseInt

于 2012-12-10T09:12:43.223 に答える