2013-11-12 3 views
1

Есть 3 поля ввода. Каждый имеет свой собственный скрытый ввод, который удерживает значение.Сделать скрипт jquery smart

На данный момент скрипт работает только для Бананы. (:-))

1 банан стоит 1 банан или яблоко 0,5 или 0,021 из печенья (другими словами, 1 яблоко = 2 банана, 46 бананы = печенье , 1 банан = 1 банан).

Что я хотел бы, чтобы этот сценарий должен был вычислять значения также для яблок и куки-файлов, и суммировать их, чтобы показать, сколько они стоят в «других» валютах (например, показывают цену 3 яблок и 4 cookies во всех трех валютах)

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

Я просто не знаю, как это сделать;

Любая помощь будет очень признательна.

Fiddle: http://jsfiddle.net/eN7S6/9/

HTML:

<table> 
    <tr> 
     <td> 
Apple<input name="inputone" id="inputone" class="calc" value="0"><span id="TotalOne"></span> 
      </td> 
    </tr> 
     <tr> 
     <td> 
Banana<input name="inputtwo" id="inputtwo" class="calc" value="0"><span id="TotalTwo"></span> 
      </td> 
      </tr> 
        <tr> 
     <td> 
Cookie<input name="inputthree" id="inputthree" class="calc" value="0"><span id="TotalThree"></span> 
      </td> 
      </tr> 
</table> 
    <input name="multiplierone" id="multiplierone" class="calc" value="1" type="hidden" readonly> 
    <input name="multipliertwo" id="multipliertwo" class="calc" value="0.5" type="hidden" readonly> 
      <input name="multiplierthree" id="multiplierthree" class="calc" value="23" type="hidden" readonly> 
    <input type="button" id="update" value="Calculate" /> 

JQ:

$(document).ready(function() {  
    $('#update').click(function() { 
     var inputone = $('#inputone').val(); 
     var multiplierone = $('#multiplierone').val(); 
     var inputtwo = $('#inputtwo').val(); 
     var multipliertwo = $('#multipliertwo').val(); 
     var inputthree = $('#inputthree').val(); 
     var multiplierthree = $('#multiplierthree').val(); 
     var totalTotalOne = (inputtwo * multipliertwo); 
     var totalTotalTwo = (inputtwo); 
     var totalTotalThree = (inputtwo/multiplierthree/2); 
     $('#TotalOne').text(totalTotalOne); 
     $('#TotalTwo').text(totalTotalTwo); 
     $('#TotalThree').text(totalTotalThree); 
    }); 
}); 
+0

Что вы сравнив валюты против? какова базовая линия? – Ohgodwhy

ответ

1

Ну с чего я собрать из вашего описания вы хотите получить сумму, которую у вас есть для определенного предмета. Поэтому, если у вас есть 10 бананов, вы хотите рассчитать эти 10 бананов против других элементов. То же самое происходит, если у вас есть 37 файлов cookie, которые вы хотите знать, насколько они стоят против других предметов.

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

В вашей текущей настройке вы не принимаете во внимание, что переменная типа (Apple, Banana, cookie) изменит ее только жестко закодированную для расчета бананов.

Я быстро установил jsbin, чтобы показать вам, что я имею в виду. Это просто начало, которое может помочь вам придумать что-то еще. Счастливое кодирование!

http://jsbin.com/EKisiGIK/10/edit

0
$(document).ready(function() { 
$('#update').click(function() { 
    var inputone = parseFloat($('#inputone').val()); 
    var multiplierone = parseFloat($('#multiplierone').val()); 
    var inputtwo =parseFloat($('#inputtwo').val()); 
    var multipliertwo = parseFloat($('#multipliertwo').val()); 
    var inputthree =parseFloat($('#inputthree').val());  
    var multiplierthree = parseFloat($('#multiplierthree').val()); 
    var totalTotalOne = (inputtwo * multipliertwo);   
    var totalTotalTwo = (inputtwo); 
    var totalTotalThree = (inputtwo/multiplierthree/2); 
     $('#TotalOne').text(totalTotalOne); 
     $('#TotalTwo').text(totalTotalTwo); 
     $('#TotalThree').text(totalTotalThree); 
    }); 
}); 

Попробуйте

0

Одна вещь, которую вы можете сделать, чтобы сделать эту проблему проще, чтобы конвертировать все валюты в базовую валюту перед преобразованием в соответствующих валютах. Используя приведенный вами пример, я конвертировал все валюты в их эквивалент Cookie, так как это было наиболее ценным, поэтому устранялось необходимость работать с десятичными значениями.

Изменение HTML для

<input name="multiplierone" id="multiplierone" class="calc" value="23" type="hidden" readonly> 
<input name="multipliertwo" id="multipliertwo" class="calc" value="46" type="hidden" readonly> 
<input name="multiplierthree" id="multiplierthree" class="calc" value="1" type="hidden" readonly> 

, который, как многие из каждой из валют, что нужно сделать одну Cookie. Следующий код может быть использован для преобразования валюты к Cookies

var base_total = inputone/multiplierone + inputtwo/multipliertwo + inputthree/multiplierthree; 
var totalTotalOne = (base_total * multiplierone); 
var totalTotalTwo = (base_total * multipliertwo); 
var totalTotalThree = (base_total * multiplierthree); 

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

Fiddle

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