Онлайн калькулятор
Нужен небольшой онлайн калькулятор с условием.Желательно на jQuery но можно и на JS .Будет выглядеть примерно так:
Есть одно поле в которое можно будет вводить некое число от 1. Нужно что бы эо число множилось на число которое пишится отдельно. Если введённое число от 1 до 3 по множится по допустим x если от 4 ло 7 то на y и если от 8 и больше то множится на число z.Можно такео как то организовать? |
Так вы уже сами это и организовали. Осталось только перевести слова в скрипт. Всего-то - ловить изменение в текстовом поле и проводить операцию с его значением по указанным вами условиям. Попробуйте написать код сами, а вот если что-то не будет получаться, то тогда возвращайтесь сюда с куском кода.
|
Ок попробую,просто в JS дерево :write:
|
Вот и ошибка пришла,перейменная не изменяется динамично при ходе операций.Код
<script lang="JavaScript"> function calculator(form) { if (form.a.value==1,2,3) {form.b.value==1} else if (form.a.value==3,4,5,6,7) {form.b.value==2} else {form.b.value==3} a = eval(form.a.value); b = eval(form.b.value); c = a*b; form.total.value = c; } </script> <form> Введите число 1 <input type="text" name="a" onchange="this.value=this.value.replace(/([^0-9])/g,'');" onkeyup="var n=this.value.replace(/([^0-9])/g,''); if(n!=this.value) this.value=n;"><br><br> <input style="display:none" type="text" name="b" value="3"><br><br><br> <input type="button" value="Рассчитать" onclick="calculator(this.form)"> <input type="reset" value="Сброс"><br><br> Результат <input type="text" name="total"> </form> |
Прости. Но ты помоему хрень какую-то написал. Можно было и получше сделать. Если вопрос еще интересен, то могу помочь. Я не профессионал, но в твой код даже вчитываться не стал. :no:
|
cmygeHm, этот код,точнее половину я где то скопировал,а вопрос еще как актуален:help:
|
P.S читай выше
Цитата:
|
jquery подключать умеешь? документ.онрэди знаешь что такое?
если да, то вод подсказка $('document').ready(function(){ $("#id_of_calc_button").click(function(){ // при нажатии на кнопку с ид id_of_calc_button делаем следующее var arg1 = $("#id_of_first_input").val(); // в арг1 теперь значение из первого текстового поля var arg2 = $("#id_of_second_input").val(); // в арг2 - из второго //перемножаем: var res = arg1 * arg2; //показываем alert(res); }); }); |
cmygeHm, спасибо,щас попробую,с jQuery более менее знаком
|
Разобрался, но как сделать что бы результат выводился например в какомто диве или что то типа такого?
|
берешь его по айдишнику и пишешь в него. например в див:
$("#id").text('text');или $("#id").html('<p>html-text</p>'); или в input type=text: $("#id').val('спасибо в карман не положишь! жми плюсик!'); :) |
Ок,всё работает как часы но еще с условием If else.Пишу так
if (arg1 == 1,2,3 ) { arg2 = 700 ;} else if (arg1 == 4,5,6,7) {arg2 = 500 ;} else {arg2 = 300 ;} Всё пашет отлично но когда вводиш например 10 то показывает результат умножения на 700.Как сделать что бы нормально пахало? |
поставить firebug и научиться им дебагить? ;)
|
кстати я еще никогда не видел такого сравнения переменных arg1==1,2,3
:blink: |
Стоит как штык :write: ,но в чём проблемма неразберусь
|
а ты в нем дебагить умеешь?
|
Да,не первый день.Давай дам код ,а ты скажеш что не так?
<script lang="JavaScript"> var jQ = false; function initJQ() { if (typeof(jQuery) == 'undefined') { if (!jQ) { jQ = true; document.write('<scr' + 'ipt type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></scr' + 'ipt>'); } setTimeout('initJQ()', 50); } else { (function($) { $(function() { // здесь пишем jQuery код }) })(jQuery) } } initJQ(); </script> <script lang="JavaScript"> $('document').ready(function(){ $("#id_of_calc_button").click(function(){ // при нажатии на кнопку с ид id_of_calc_button делаем следующее var arg1 = $("#id_of_first_input").val(); // в арг1 теперь значение из первого текстового поля var arg2 = $("#id_of_second_input").val(); // в арг2 - из второго if (arg1 == 1,2,3 ) { arg2 = 700 ;} else if (arg1 == 4,5,6,7) {arg2 = 500 ;} else {arg2 = 300 ;} if (arg1 == 1) { var day = " день " ;} else if (arg1 == 2) { var day = " дня " ;} else {var day = " дней " ;} //перемножаем: var res = "Цена на " + arg1 + day + arg1 * arg2 + " рублей"; //показываем alert(res); }); }); </script> <form> Введите количество дней <input type="text" name="a" id="id_of_first_input"><br><br> <input style="display:none" type="text" id="id_of_second_input" name="b" value="300"> <input type="button" value="Рассчитать" id="id_of_calc_button"> </form> |
нет, я говорить ничего не буду. Я вижу три варианта:
1. ты заменяешь дикое для меня и двух других программистов "arg==1,2,3" на "arg==1 || arg==2 || arg==3" 2. ты дебагишь и находишь ошибку сам. 3. ты идешь пить чай, отдыхать, а когда приходишь - все работает :) |
Вот это
<script lang="JavaScript"> var jQ = false; function initJQ() { if (typeof(jQuery) == 'undefined') { if (!jQ) { jQ = true; document.write('<scr' + 'ipt type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></scr' + 'ipt>'); } setTimeout('initJQ()', 50); } else { (function($) { $(function() { // здесь пишем jQuery код }) })(jQuery) } } initJQ(); </script> замени на <script src="jquery.min.js"></script>, где jquery.min.js - скачаный по этой ссылке файл: http://ajax.googleapis.com/ajax/libs.../jquery.min.js |
Всё отлично работает еще раз спасибо;)
|
так как решился вопрос?
|
Часовой пояс GMT +3, время: 22:51. |