2016-10-20 41 views
-1

は、これは完璧な作品の表の特定の行の数量*価格の計算のためのasp.net MVCかみそりビューの設計であるが、問題は、値が隠しフィールドに格納されていない計算されます。隠しフィールドの値を設定する代わりにtot.text((quantity * price).toFixed(2));screen shot of outputのHiddenField値セット[オブジェクトのオブジェクト]

@<table id="tbl" class="table table-striped table-hover"> 
    <thead> 
     <tr> 
      <th>Product</th> 
      <th>Quantity</th> 
      <th>Price</th> 
      <th>Total</th> 
     </tr> 
    </thead> 
    <tbody> 
     @for (var i = 0; i < Model.ListProducts.Count(); i++) 
     { 
      var pro = Model.ListProducts[i]; 
      <tr> 
       <td>@pro.ShortName @pro.SizeDetails.Size</td> 

       <td>@Html.HiddenFor(m => m.ListProducts[i].SizeDetails.SID) 
        @Html.HiddenFor(m => m.ListProducts[i].PID) 
        &nbsp;&nbsp; 
       @Html.TextBoxFor(m => m.ListProducts[i].Qty, new { @class = "qty form-control", @style = "width:100px;display:inline;" })</td> 
       <td>&nbsp;&nbsp; 
        <i class="fa fa-inr"></i>&nbsp; 
        <label class=""> 
         @if (@pro.SizeDetails.DistPrice != null && @pro.SizeDetails.DistPrice != 0) 
         { 
          @pro.SizeDetails.DistPrice 
         } 
         else 
         { 
          @pro.SizeDetails.MRP 
         } 
        </label> 
        <input type="hidden" value="@if (@pro.SizeDetails.DistPrice != null && @pro.SizeDetails.DistPrice != 0) 
                 {@pro.SizeDetails.DistPrice} 
                 else 
                 {@pro.SizeDetails.MRP}" class="price"/> 
        // @Html.TextBoxFor(m => m.ListProducts[i].finalPrice, new { @id="txtP"}) 
       </td> 
       <td class="total"> 

       </td>         
       @Html.HiddenFor(m => m.ListProducts[i].Price, new { @class = "total" ,@id="hdnTot"}) 
      </tr> 

     } 

    </tbody> 
</table> 

スクリプト

//$('body').on('blur', '.qty, .price', function(e) { 
$('.qty, .price').on('blur', function (e) { 
    debugger; 
    // Get Parent ROW 
    var row = $(this).closest('tr'); 
    var qty = $('.qty', row), 
     pr = $('.price', row), 
     tot = $('.total', row); 
    $('#hdnTot').val(tot); 
    quantity = parseFloat(qty.val()); 
    price = parseFloat(pr.val()); 

    if (!isNaN(quantity) && !isNaN(price)) { 
     tot.text((quantity * price).toFixed(2)); 
    } 
}); 
+3

あなたの質問は、どんな問題に遭遇しましたか? – madalinivascu

+0

+1

使用単語:私はこれを行なったし、結果はこれをし、エラーがこれをでした、あなたはそれを行うことができますなど! – madalinivascu

答えて

0

使用tot.val((quantity * price).toFixed(2));

関連する問題