2013-07-24 7 views
2

Я сделал этот сценарий jquery с помощью друзей.jquery простой расчет скрипт немного нужна помощь

скрипку http://jsfiddle.net/Wu7k7/

JQuery:

$('input[name=rdOptin]').click(function(){ 
var selected=$(this).val(); 
var var0 = 0.3; 
var var1 = 20; 
var var2 = var1 * 3.9/100; 
var var3 = 20; 
var var4 = (var1 + var3) * 3.9/100; 
if (selected == 'norm'){ 
    $("#calc_value").html(var0 + var1 + var2);} 
else { 
    $("#calc_value").html(var0 + var1 + var3 + var4);} 

}); 

HTML форма

<form id="form1" name="form1" method="post" action="form1.php"> <b> Option 1:</b> 
    <input type="radio" name="rdOptin" value="norm" checked="checked" />Normal 
    <input type="radio" name="rdOptin" value="exp" />Expert 
<br /> 
<b>Calculated Value:</b> 
<div class="valueDisp"> 
    <div id="calc_value"> 
     select options 
    </div> 
</div> 
  1. я пытался добавить текстовый элемент к выходу выбора. Например, скажем: при выборе радиостанции «Эксперт» вывод «41.86», как я могу сделать этот вывод похожим на «Числа 41.86».

  2. при выборе «Нормального» радиовыхода «21.080000000000002», как я могу исправить его до «21.08»?

его довольно сложный для меня.

Помогите друзьям.

Большое спасибо.

+0

Этот вопрос уже задан несколько раз. См. [ToFixed()] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/toFixed). –

ответ

1
  1. положить "Числа" в .html("Numbers "+yourNumber) и использования:
  2. toFixed() перед

короче вариант:

if (selected == 'norm') 
    var total = var0 + var1 + var2; 
else 
    var total = var0 + var1 + var3 + var4; 
$("#calc_value").html("Numbers "+total.toFixed(2)); 

DEMO

+0

большое спасибо. также, могу ли я добавить форматирование css «style» в «Numbers», то есть изменить цвет и т. д.? – ashis

+1

@ user2057047 yep, просто измените на 'html (" Numbers "+ total.toFixed (2));' или установите 'class' вместо атрибута' style' и используйте его в вашем файле css – vladkras

+0

thanx много друга :) – ashis

2

Первый вопрос может быть исправлена ​​путем добавления вашего значения номера текст, который вы хотите, как так

var yourVal = 41.86; 
var outputVal = "Numbers "+yourVal; 

Для второго вопроса использования .toFixed() использовать только два знака после запятой.

var yourVal = 21.08000000000002; 
var outputVal = yourVal.toFixed(2); 
+0

Можете ли вы, пожалуйста, обновить скрипку? я не очень хорошо знаю программирование. Это будет большой помощник. http://jsfiddle.net/Wu7k7/ – ashis

1

вам нужно использовать .toFixed(2) округлить здесь

$('input[name=rdOptin]').click(function(){ 
    var selected=$(this).val(); 
    var var0 = 0.3; 
    var var1 = 20; 
    var var2 = var1 * 3.9/100; 
    var var3 = 20; 

    var result; 
    if (selected == 'norm'){ 
     result = var0 + var1 + var2; 
    } else { 
     var var4 = (var1 + var3) * 3.9/100; 
     result = var0 + var1 + var3 + var4; 
    } 

    $("#calc_value").html('Numbers: ' + result.toFixed(2)); 

}).filter(':checked').click(); 

Демо: Fiddle

+0

Hii. Спасибо за ответ. Как добавить этот стиль в переменную? i, e, style to variable result – ashis

3

Использование .toFixed() для преобразования числа с плавающей запятой в десятичной строки фиксированной точности. Кроме того, отделить вычисление от представления, чтобы избежать повторения:

var result; 
if (selected == 'norm'){ 
    result = var0 + var1 + var2; 
} else { 
    result = var0 + var1 + var3 + var4; 
} 

$('#calc_value').text("Numbers " + result.toFixed(2)); 
+0

hii .. Большое спасибо за ответ. но вы пропустили мой Q-1? – ashis

+0

@ user2057047 нет, я уже исправил это (он находится в последней строке) – Alnitak

+0

ohh yeah. Сорри, я не видел вашего редактирования. Большое спасибо :) – ashis

Смежные вопросы