динамическое обновление

Тема в разделе "JavaScript", создана пользователем ruslan216455, 28 авг 2013.

  1. ruslan216455

    ruslan216455

    Регистрация:
    6 ноя 2012
    Сообщения:
    220
    Симпатии:
    22
    Есть поле со списком при выборе которого должна меняться цена как сделать что бы при изменение выбора тарифа цена менялась, сейчас меняется только меняется при загрузки страницы
    Код:
    <select name="times" class="input-block-level" id="country">
    <option value="--Выберите тариф--">--Выберите тариф--</option>
    <option value="Mini" selected>Mini</option>
    <option value="Normal">Normal</option>
    <option value="Medium">Medium</option>
    <option value="Pro"> Pro</option></select>
    <script type='text/javascript'>
    var TYPE=document.getElementById('country').value;
    if (TYPE == 'Mini') {document.write('<h3>Итого: 1500 Руб</h3>');}
    if (TYPE == 'Normal') {document.write('<h3>Итого: 3000 Руб</h3>');}
    if (TYPE == 'Medium') {document.write('<h3>Итого: 5000 Руб</h3>');}
    if (TYPE == 'Pro') {document.write('<h3>Итого: 10 000 Руб</h3>');}
    </script>
     
  2. alex_storm

    alex_storm дизайн, CSS Команда форума

    Регистрация:
    11 дек 2012
    Сообщения:
    1.120
    Симпатии:
    559
    Вот я делал одному чуваку мини калькулятор со списками и т.п.

    JS код:


    HTML структура:

     
    ruslan216455 нравится это.
  3. johndoe

    johndoe

    Регистрация:
    5 сен 2013
    Сообщения:
    0
    Симпатии:
    1
    если есть jquery то можно сделать так
    Код:
    $(document).ready(funcion(){
    $('#country').change(function(){
    var val = $('#country :selected').val(),
    sum=0;
    switch(val){
      case 'Mini': sum=1500; break;
      case 'Normal': sum=3000; break;
      case 'Medium': sum=5000; break;
      case 'Pro': sum=10000; break;
    }
    var h3=$('<h3>').html('Итого: '+sum+' руб');
    $('#id_elementa_kuda_pisat').html(h3);
    })
    })
    
    но я бы в опции ввел атрибут data-sum='3000...10 000' и получал в скрипте не через .val() а через .data('sum'). Тогда можно код упростить:
    Код:
    $(document).ready(funcion(){
    $('#country').change(function(){
    var sum = $('#country :selected').data('sum');
    var h3=$('<h3>').html('Итого: '+sum+' руб');
    $('#id_elementa_kuda_pisat').html(h3);
    })
    })