Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Вывод в зависимости от выбора (https://javascript.ru/forum/dom-window/7596-vyvod-v-zavisimosti-ot-vybora.html)

amen 09.02.2010 20:49

Вывод в зависимости от выбора
 
Здравствуйте
Помогите пожалуйста с такой задачкой:
Есть раскрывающийся список:

Код:

  <select>
    <option><?php echo $obj['wk1']; ?></option>
    <option><?php echo $obj['wk2']; ?></option>
    <option><?php echo $obj['wk3']; ?></option>
    <option><?php echo $obj['wk4']; }?></option>
  </select>

Чуть ниже:

<?php
    
            while($row2 = mysql_fetch_assoc($res2))
            {
                ?>
               
                <tr><td>
                <?php echo $row2['name']; ?>
                </td>
                <td><?php echo '';?></td>
                </tr><br />
                <?
               
    
            }
            ?>


Напротив названия услуги ($row2['name']) нужно вывести цену, так, что
если список стоит в позиции
Код:

<option><?php echo $obj['wk1']; ?></option>
цена будет выводиться:
Код:

<td><?php echo $row2['price_wk1'];?></td>
,
если
Код:

<option><?php echo $obj['wk2']; ?></option>
соответственно
Код:

<td><?php echo $row2['price_wk2'];?></td>
Всего 4 категории.

Очень надеюсь на вашу помощь.

subzey 09.02.2010 23:07

Гхм-м… Вы имеете в виду, показываться?

Надеюсь, Вы понимаете, что javascript запускается на клиентской стороне, и только после того, как будет сгенерирована сраница на серверной (напр. при помощи php).

amen 10.02.2010 06:18

Да

amen 10.02.2010 18:24

Вот, вроде бы правильно, но не работает.

<div class="forms">
<form action="index.php" method="POST">

    <h1>
    
    <?php while($obj = mysql_fetch_assoc($res))
                    {
                        echo $obj['name'];
                    
           ?></h1>

    <select onchange="changePrice(this.value)">
        <option><?php echo $obj['wk1']; ?></option>
        <option><?php echo $obj['wk2']; ?></option>
        <option><?php echo $obj['wk3']; ?></option>
        <option><?php echo $obj['wk4']; ?></option>
    </select>
    <?php } ?>
    <input type="text" name="time" value="time">
    <br><br>
    <h2><font color="maroon">Base services: </font></h2>



        <?php
        $data = array();
        $id = 0;
        $i=1;
        while($row2 = mysql_fetch_assoc($res2))
        { 
            $data[] = array('wk1' => $row2['price_wk1'],
                            'wk2' => $row2['price_wk2'],
                            'wk3' => $row2['price_wk3'],
                            'wk4' => $row2['price_wk4']);
            ?>
            
            <tr><td>
            <?php echo $row2['name']; ?>
            </td>
            <td id="price<?php echo $id; ?>"></td></tr><br/>
            <?
            $i++;
        }
        print_r($data);
        ?>
        <script type="text/javascript">
        prices = eval('{'+<?php echo json_encode($data); ?>+'}');
        function changePrice(val) 
        {
            for (i in prices)
            {
                document.getElementById('price'+i).innerHTML = prices[i][val];
            }
          
        }
        </script>


Подскажите в чём ошибка


Часовой пояс GMT +3, время: 18:21.