динамическое добавление ввода по клику, но есть цикл while - PullRequest
1 голос
/ 11 января 2012

У меня есть цикл while в форме

<?php
        <select>
        while($select = $sql->fetchObject())
        {
        $name=$select->name;
        $alt = $select->alt;
        echo "<option value='".$alt."'>".$name."</option>";
        }
        </select>
?>
<div id='new_name'>Add Name</div>

Я бы хотел кое-как использовать jquery для динамического добавления новой опции выбора (с такими же параметрами из цикла while) при нажатии, какЯ делаю такую ​​вещь, если есть php?

Спасибо большое!

Ответы [ 2 ]

4 голосов
/ 11 января 2012

PHP-код запускается на стороне сервера, а jQuery - на JavaScript и, следовательно, выполняется на стороне клиента, поэтому PHP-код не повлияет на jQuery. То, что возвращается с сервера, это просто элемент HTML. Для этого вы можете использовать jQuery .clone () , чтобы сделать копию выбора.

$('select').clone().appendTo('form');

Поскольку вы не указываете, на что хотите щелкнуть, чтобы добавить скопированный выбор, я просто приведу пример того, как он может выглядеть:

$("#my-id-to-click-on").click(function(){
    $('select').clone().appendTo('form');
});

Примечание Поскольку я ничего не знаю о классах или идентификаторах, используемых в ваших формах и входах, в этих примерах используются очень общие селекторы, и если у вас есть несколько форм или несколько выборок в вашей DOM, это станет проблема. Я предлагаю вам добавить идентификаторы или классы в ваши формы и варианты выбора и использовать их для выбора. Таким образом, это будет более пуленепробиваемым.

Вы также можете добавить оператор if, чтобы убедиться, что выборка копируется только при первом нажатии. Если ты так хочешь, чтобы он вел себя.

1 голос
/ 11 января 2012

Вы также можете:

  1. Сгенерируйте выборки с помощью PHP, отключите и скройте их, затем нажмите «Включить» и покажите.
  2. Установите переменную javascript со всеми данными (пары имя-альт), используя PHP и json_encode, а затем по щелчку используйте содержимое переменной, чтобы сгенерировать выборки HTML с javascript.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...