2016-01-18 72 views
0

我想計算並顯示一個簡單的jquery函數,但沒有顯示出來。jquery簡單的計算功能

這是jQuery代碼:

function compute() { 
     var a = $('#a').val(); 
     var b = $('#pln').val(); 
     var c = $('#c').val(); 
     var d = a*b; 
     var total = d+c; 
     $('#total').val(total.toFixed(2)); 
    } 
$('#a, #b, #c, #d').change(compute); 

這是形式的代碼,我要實現它,並顯示計算值。

 <div> 
      <label style="margin-top: 25px;">Timer duration</label> 
      <input type="radio" id="mc a" name="optionsRadios" value="<?php echo $at_fetch['at_mc']; ?>" style="margin-left: -170px; margin-top: 3px;"> 
      <font style='margin-left: -170px; font-family: "Lucida Sans Unicode",Arial;'><?php echo $at_fetch['at_mc']; ?> secs (Micro Ads)</font><br /> 
      <input type="radio" id="mn a" name="optionsRadios" value="<?php echo $at_fetch['at_mn']; ?>" style="margin-left: -170px; margin-top: 3px;"> 
      <font style='margin-left: -170px; font-family: "Lucida Sans Unicode",Arial;'><?php echo $at_fetch['at_mn']; ?> secs (Mini Ads)</font><br /> 
      <input type="radio" id="sd a" name="optionsRadios" value="<?php echo $at_fetch['at_sd']; ?>" style="margin-left: 62px; margin-top: 3px;"> 
      <font style='margin-left: -170px; font-family: "Lucida Sans Unicode",Arial;'><?php echo $at_fetch['at_sd']; ?> secs (Standard Ads)</font><br /> 
      <input type="radio" id="fd a" name="optionsRadios" value="<?php echo $at_fetch['at_fd']; ?>" style="margin-left: 62px; margin-top: 3px;"> 
      <font style='margin-left: -170px; font-family: "Lucida Sans Unicode",Arial;'><?php echo $at_fetch['at_fd']; ?> secs (Fixed Ads)</font><br /> 
     </div> 

     <div style="margin-top: -60px;"> 
      <label>Choose plan</label> 
      <select name="" id="pln" class="select-box" style="margin-top: -40px;" /> 
      <option value="0">Choose clicks</option> 
      <?php while($ac_fetch = mysql_fetch_array($qur_ac)){ ?> 
      <option value="<?php echo $ac_fetch['adclk_clicks']; ?>"><?php echo $ac_fetch['adclk_clicks']; ?> clicks</option> 
      <?php } ?> 
      </select> 
     </div> 


     <div> 
      <label>Fees</label> 
      $<?php echo $paf_fetch['paf_fees']; ?> 
      <input type="hidden" id="c" value="<?php echo $paf_fetch['paf_fees']; ?>" /> 
     </div> 


     <div> 
      <label>Total 
      <input type="text" id="total" value="" disabled> 
     </div></label> 
     <br /><br /> 

我想這個jQuery計算在<input type="text" id="total" value="" disabled>的價值觀和顯示。但它沒有顯示。請幫我解決這個問題。

+0

'div'沒有財產'value'。你應該嘗試'.html()'或'.text()' – Rajesh

回答

0

試試這個:$('#total').html(total.toFixed(2));

+0

已經嘗試過......不會工作..! –

+0

你確定'total.toFixed(2)'正在返回一些東西嗎? – Filipe

+0

這將工作時,只是想簡單地改變一個文本或當我想要實現任何html值....這個函數如何幫助我計算和顯示一個值?請修改您的答案。 –

0
$(document).ready(function() { 
    $('#total').val(""); 
    $('input[name="optionsRadios"], #pln').change(function() {    
     var a = parseInt($(this).val(), 10); 
     var b = parseInt($('#pln').val(), 10); 
     var c = parseInt($('#c').val(), 10); 
     var d = a * b; 
     var total = d + c; 
     $('#total').val(total.toFixed(2)); 
    }); 
}); 

HTML

  <label style="margin-top: 25px;">Timer duration</label> 
     <br /> 

     <table> 
<tr> 
    <td> <input type="radio" id="mc_a" name="optionsRadios" value="1"> </td> 
    <td> secs (Micro Ads)</td> 
</tr> 

      <tr> 
       <td> <input type="radio" id="mn a" name="optionsRadios" value="2" ></td> 
       <td>secs (Mini Ads)</td> 
      </tr> 
       <tr> 
       <td><input type="radio" id="sd a" name="optionsRadios" value="3" ></td> 
       <td> secs (Standard Ads)</td> 
      </tr> 
    <tr> 
       <td> <input type="radio" id="fd a" name="optionsRadios" value="4" ></td> 
       <td> secs (Fixed Ads)</td> 
      </tr> 
     </table> 






      <label>Choose plan</label> 
      <select name="" id="pln" class="select-box" /> 
      <option value="0">Choose clicks</option> 

      <option value="10">10</option> 

      <option value="20">20</option> 

      <option value="30">40</option> 

      <option value="50">50</option> 

      </select> 



     <div> 
      <label>Fees</label> 

      <input type="text" id="c" value="22" /> 
     </div> 


     <div> 
      <label>Total 
      <input type="text" id="total" value="" disabled> 
     </div></label> 
     <br /><br /> 

增加了一些虛值來檢查你的函數。

+0

那麼它不會workk –

+0

@Shubham Jha代碼edited.plz檢查它 – Aswathy

+0

Dd你檢查它? – Aswathy

0

你可以嘗試

var total = a+b;     
    $('#total :input').attr('value',total); 
0

的問題是,你正在試圖通過id擺脫輸入radio元素值。
您的radio元素的標識符不包含在compute()函數中提供的元素。此外,您應該通過檢查checked狀態來獲得radio元素的值。
更改您的代碼如下所示:

function compute() { 
     var a = $("input[name='optionsRadios']:checked").val(), 
      b = $('#pln').val(), 
      c = $('#c').val(), 
      d = a*b, 
      total = d+c; 
     $('#total').val(total.toFixed(2)); 
    } 
$('input[name='optionsRadios'], #c, #pln').change(compute);