Wnyr

работа кнопок с условием ЕСЛИ

Recommended Posts

Прошу прощения, но нужна Ваша помощь.

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

Грубо говоря: если город стоимость остается как в формуле ниже, если межгород, умножается например на 2.

    <div class="switch">
      <input type="radio" name="tax" value="1" id="q" class="input" checked>
      <label for="q" class="label">Город</label>
      <input type="radio" name="tax" value="2" id="w" class="input">
      <label for="w" class="label">Межгород</label>
    </div>
    <input type="nomber" id="a" class="input" placeholder="km">
    <input type="nomber" id="b" class="input" placeholder="min">
    <input type="reset" id="e" value="Сброс" class="button">
	  <script>
        window.onload = function(){
            var inp = document.querySelectorAll('.input');
            for(var i = 0; i < inp.length; i++){
                inp[i].oninput = calc;
            }      
            function calc(){
                a = document.getElementById('a').value;
                b = document.getElementById('b').value;
                d = 85+(10*a)+(5*b);
                e = d-d*0.1;
                document.getElementById('e').value = e ;
            }
        }
    </script>

 

Share this post


Link to post
Share on other sites

Делаете проверку - если отмечен инпут межгород, то считать по такой-то формуле, иначе считать по другой.

Share this post


Link to post
Share on other sites
7 часов назад, AlexZaw сказал:

Делаете проверку - если отмечен инпут межгород, то считать по такой-то формуле, иначе считать по другой.

это я понимаю, только реализовать не получается=(

если есть возможность, сделать пример, без формул и т.д. я это уже и сам смог бы дописать

Share this post


Link to post
Share on other sites

удалил, разобрался, всем спасибо=)

Edited by Wnyr
разобрался

Share this post


Link to post
Share on other sites
var inp = document.querySelectorAll('.input, .reg_input')

Синтаксис:

elementList = document.querySelectorAll(selectors);

где

  • elementList - статическая коллекция элементов.
  • selectors - строка, содержащая, через запятую, один или более CSS селектор.

Share this post


Link to post
Share on other sites

еще один нюанс подскажите плз, с компьютера норм работает, с телефона все работает, но не переключаются город и межгород

Share this post


Link to post
Share on other sites

Код, представленный тут: 

 работает в iPhone X как ожидается

Share this post


Link to post
Share on other sites
28 минут назад, klierik сказал:

var inp = document.querySelectorAll('.input, .reg_input')

Синтаксис:


elementList = document.querySelectorAll(selectors);

где

  • elementList - статическая коллекция элементов.
  • selectors - строка, содержащая, через запятую, один или более CSS селектор.

спасибо большое, как раз тоже разобрался=))

8 минут назад, klierik сказал:

Код, представленный тут: 

 работает в iPhone X как ожидается

результат - можешь плз глянуть, у меня на iphone 7 plus,  не получается переключаться, то бишь, включен город, вводишь км и мин, все ок, но когда переключаешь на межгород, он сразу не пересчитывает, а работает так, нажал межгород, стереть одно значение, снова его вбил, и уже считает по межгороду тарифу.

Share this post


Link to post
Share on other sites
13 минут назад, Wnyr сказал:

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

а как должно работать?

Share this post


Link to post
Share on other sites
3 минуты назад, klierik сказал:

а как должно работать?

ввел только два значения (км и мин) и оно сразу, автоматом, считает внизу результат, если переключил на межгород, сразу же пересчитало по другой формуле.

а сейчас лично у меня:

на компьютере все работает как и должно.

на телефоне: ввел км и мин, показало результат, все ок, потом переключился с этими же вводными на межгород, и ничего не происходит, дальше берешь например мин (12) стираешь 2, и снова пишешь 2, и он уже пересчитывает по формуле межгорода.

 

хотя если все ввожу сюда, то тут работает норм

http://jsfiddle.net/epnyj642/

Share this post


Link to post
Share on other sites

могу предположить что на iPhone 7 в браузере проблемы с обработкой oninput, в некоторых старых браузерах данное событие работает только на полях ввода, а в IE9, на сколько я помню не срабатывает при удалении символа.
Попробуйте использовать событие нажатия клавиши и получение фокуса для пересчета результата

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Member Statistics

    46,433
    Total Members
    3,128
    Most Online
    Sterben
    Newest Member
    Sterben
    Joined
  • Recently Browsing   0 members

    No registered users viewing this page.