2010-10-05 2 views
0

Я пытаюсь построить калькулятор, который выполняет некоторую простую математику на основе введенного вами номера и переключателя, который вы выбираете.jquery math с радиокнопкой и текстовым полем

Я хочу предварительно заполнить номер и предварительно выбрать радиокнопку и показать образец результата.

Когда я жестко кодирую значение текстового поля, оно работает до тех пор, пока я не попытаюсь изменить новый номер, тогда мое выходное значение начнет мигать правильно и исчезнет. Я знаю, что это почти работает, но я не могу закончить его.

Моя мысль, может быть, я должен предварительно заполнить текстовое поле, используя jQuery, но я не уверен.

$(function() { 
$(".calculate").change(function(){ 
var valone = $('#ms').val(); 
var valtwo = $('input:radio[name=ValTwo]:checked').val(); 

var total = ((valone * 1) * (valtwo * 1)); 
$('#Total').text(total); 
}); 
}); 

<form> 
     <dl> 
      <dt><label for="spending">Monthly Spending</label></dt> 
      <dd><input name="ValOne" id="ms" type="text" value="2500"></dd> 
      <br /><br /> 
      <dt><label for="balance">Is your balance typically<br />above $5,000?</label></dt> 
      <dd>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
       Yes <input name="ValTwo" type="radio" value=".02" class="calculate" checked='checked'> 
       No <input name="ValTwo" type="radio" value=".01" class="calculate"> 
      </dd> 
     </dl> 
     <div class="clear"></div> 
     <input type="image" id="enter" value="open an account" src="images/btn-go.png">  
    </form> 

<span id="Total">50</span> 
+0

не связано с вашей проблемой. Использование унарного оператора '+' быстрее, чем '*'. См. Http://stackoverflow.com/questions/2665984/is-minus-zero-some-sort-of-javascript-performance-trick и http://www.jibbering.com/faq/faq_notes/type_convert.html#tcNumber –

+0

Можете ли вы поместить это где-нибудь, чтобы мы могли взглянуть. – Lazarus

+0

Я загрузил его на http://maligndesign.com/calc/ – foroctfralion

ответ

0

Изменение кода

function reCalc() 
{ 
    var valone = $('#ms').val(); 
    var valtwo = $('input:radio[name=ValTwo]:checked').val(); 

    var total = ((valone * 1) * (valtwo * 1)); 
    $('#Total').text(total); 
} 

$('#ms').keyup(reCalc); 
$('.calculate').change(reCalc); 

пересчитает тотал на каждом нажатии клавиши в области расходов, а также при каждом изменении кнопки радио.

0

Попробуйте изменить

$('#Total').text(total); 

в

$('#Total').html(total); 
Смежные вопросы