За последние 24 часа нас посетили 49708 программистов и 1728 роботов. Сейчас ищут 625 программистов ...

Создание копий элемента select

Тема в разделе "JavaScript и AJAX", создана пользователем vovan1409, 7 апр 2012.

  1. vovan1409

    vovan1409 Активный пользователь

    С нами с:
    14 мар 2012
    Сообщения:
    33
    Симпатии:
    0
    Как создавать несколько копий <select>, меняя только его имя. Есть select вида:
    Код (Text):
    1. ...
    2. <select name="study">
    3.     <option value="no"><??></option>
    4.   <?php
    5.   $querylang=mysql_query("SELECT `id_study`,".$qlang." FROM `study`");cq();
    6.   while($getlang=mysql_fetch_assoc($querylang)) {
    7.     echo "<option value=\"".$getlang['id_study']."\"";
    8.     if (@$_POST['study'] && $getlang[$qcity]==$_POST['study'])
    9.     echo " selected=\"selected\" ";
    10.     echo ">".$getlang[$qlang]."</option>";
    11.   }
    12. ?>
    13.   </select>
    14. ...
    который как видно заполняется из БД.
     
  2. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Цикл я бы переделал так
    Код (PHP):
    1. while($getlang=mysql_fetch_assoc($querylang)) {
    2.   echo sprintf('<option value="%s"%s>%s</option>%s',$getlang['id_study'],(@$_POST['study'] && $getlang[$qcity]==$_POST['study'])?' selected="selected"':'',$getlang[$qlang],"\n");
    3. } 
    чтобы лучше было видно, что выходит, и чтобы не ставить обратные слеши.

    Так писать не правильно <option value="no"><??></option>, нужно <option value="no">&lt;??&gt;</option>.

    У вас должно выводить столько <option>, сколько записей в таблице бд.
    А что означает "Как создавать несколько копий <select>, меняя только его имя", не понятно. Нужен select с тем же value, но с другим текстом? Нужно запомнить нужные value и вывести после цикла.