За последние 24 часа нас посетили 22202 программиста и 1057 роботов. Сейчас ищут 713 программистов ...

Условие для option

Тема в разделе "Сделайте за меня", создана пользователем Chris Sanchez, 18 сен 2018.

Метки:
  1. Chris Sanchez

    Chris Sanchez Новичок

    С нами с:
    6 мар 2018
    Сообщения:
    6
    Симпатии:
    0
    Код (Text):
    1.  
    2.     <?php
    3.     $_TYPES = array("types"=>array(1=>"Сумка", 2=>"Портфель", 3=>"Чемодан"));
    4.     $_PRICES = array("prices"=>array(1=>"1000 грн.", 2=>"950 грн.", 3=>"1500 грн."));
    5.     ?>
    6.  
    7.         <form action="#" method="post" name="order">
    8.         Выберите:
    9.         <select name="type">
    10.             <option value="<?php echo $_TYPES['types'][1]; ?>"><?php echo $_TYPES['types'][1]; ?></option>
    11.             <option value="<?php echo $_TYPES['types'][2]; ?>"><?php echo $_TYPES['types'][2]; ?></option>
    12.             <option value="<?php echo $_TYPES['types'][3]; ?>"><?php echo $_TYPES['types'][3]; ?></option>
    13.         </select>
    14.         Цена:
    15.         <?php
    16. /* Здесь нужно сделать условие, чтобы при выборе 1 пункта, отображалась 1 цена, при выборе 2, 2 цена и т.д.
    17. Что-то вроде:
    18. if option = $_TYPES['types'][1] {
    19. echo $_PRICES['prices'][1]
    20. } */
    21.         ?>
    22.         <input type="submit" name="submit" value="Отправить" />
    23.         </form>
     
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.155
    Симпатии:
    1.769
    Адрес:
    :сердА
    Ну вы же написали, что нужно делать. Вперед, чуть чуть осталось, я не прикалываюсь. Направление верное, только синтаксис if нужно почитать, вспомнить, что php не питон и нужны скобочки и точки с запятыми, а, заодно, почитать про отличия между оператором присвоения (=) и проверки равенства (==), а, заодно и про строгую проверку равенства (===) почитать.
     
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.792
    Симпатии:
    650
    Если без перезагрузки, то это JS.
     
  4. Chris Sanchez

    Chris Sanchez Новичок

    С нами с:
    6 мар 2018
    Сообщения:
    6
    Симпатии:
    0
    Вот ещё пример:
    Код (Text):
    1. if (document.getElementById("type").options.selectedValue == "<?php $_TYPES['types'][1]; ?>") {
    2. document.write("<?php echo $_PRICES['prices'][1]; ?>");
    3. }
     
  5. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    HTML:
    1. <select onchange="getVal(this);" ></select>
    2.  
    3. function getVal(sel) {
    4.     alert(sel.value);
    5.     alert(sel.options[sel.selectedIndex].text);
    6. }
     
    Chris Sanchez нравится это.
  6. Chris Sanchez

    Chris Sanchez Новичок

    С нами с:
    6 мар 2018
    Сообщения:
    6
    Симпатии:
    0
    Я в JS практически ничего не понимаю, можешь пожалуйста, в мой код вставить это? Ибо у меня нет никакого результата. Благодарю заранее.
     
  7. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    HTML:
    1. <select onchange="getVal(this);" >
    2.     <?php foreach($_TYPES['types'] as $value):?>
    3.         <option value="<?= $value; ?>"><?= $value; ?></option>
    4.     <?php endforeach;?>
    5. <div id="price"></div>
    6. function getVal(sel) {
    7.     //alert(sel.value);
    8.     //alert(sel.options[sel.selectedIndex].text);
    9.     document.getElementById("price").innerHTML = sel.options[sel.selectedIndex].text
    10. }
     
    Chris Sanchez нравится это.
  8. Chris Sanchez

    Chris Sanchez Новичок

    С нами с:
    6 мар 2018
    Сообщения:
    6
    Симпатии:
    0
    При выборе пункта, выводится его название, вместо цены ($_PRICES).
     
  9. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Код (Text):
    1. <?php foreach($_TYPES['types'] as $key => $value):?>
    2. <option data-price="<?= $_PRICES['prices'][$key] ?>" value="<?= $value; ?>"><?= $value; ?></option>
    3. document.getElementById("price").innerHTML = sel.options[sel.selectedIndex].dataset.price
     
    Chris Sanchez нравится это.
  10. Chris Sanchez

    Chris Sanchez Новичок

    С нами с:
    6 мар 2018
    Сообщения:
    6
    Симпатии:
    0
    Большое спасибо <3.