2016-01-18 3 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

уже пробовали ... wont work ..! –

+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

nah не будет работать –

+0

@Shubham Jha код отредактированный.plz проверить его – Aswathy

+0

Dd u проверить его ??? – Aswathy

0

Вы можете попробовать

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

Проблема заключается в том, что вы пытаетесь получить значение из входного radio элемента по id.
Идентификаторы ваших radio элементов не состоят из тех, которые представлены в пределах compute() функции. Кроме того, вы должны получить значение элемента radio, проверив состояние checked.
Измените код, как показано ниже:

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); 
Смежные вопросы