Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在单击时动态添加输入,但有一个while循环_Php_Jquery_Jquery Ui_Dynamic - Fatal编程技术网

Php 在单击时动态添加输入,但有一个while循环

Php 在单击时动态添加输入,但有一个while循环,php,jquery,jquery-ui,dynamic,Php,Jquery,Jquery Ui,Dynamic,我在表单中有一个while循环 <?php <select> while($select = $sql->fetchObject()) { $name=$select->name; $alt = $select->alt; echo "<option value='".$alt."'>".$name."</option>";

我在表单中有一个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,我将如何做这样的事情


非常感谢

PHP代码在服务器端运行,而jQuery是JavaScript,因此在客户端运行,因此PHP代码不会影响jQuery。从服务器返回的只是一个纯HTML元素。因此,您可以使用jQuery创建select的副本

$('select').clone().appendTo('form');
由于您没有指定要单击什么来添加复制的select,因此我仅举一个示例说明它的外观:

$("#my-id-to-click-on").click(function(){
    $('select').clone().appendTo('form');
});
注意,由于我对表单和输入中使用的类或ID一无所知,这些示例使用非常通用的选择器,如果DOM中有多个表单或多个选择器,这将成为一个问题。我建议您将ID或类添加到表单和选择中,并使用它们来选择。那样的话,它将更加防弹


您可能还需要添加if语句,以确保仅在第一次单击时复制select。如果您希望它是这样运行的。

PHP代码在服务器端运行,而jQuery是JavaScript,因此在客户端运行,因此PHP代码不会影响jQuery。从服务器返回的只是一个纯HTML元素。因此,您可以使用jQuery创建select的副本

$('select').clone().appendTo('form');
由于您没有指定要单击什么来添加复制的select,因此我仅举一个示例说明它的外观:

$("#my-id-to-click-on").click(function(){
    $('select').clone().appendTo('form');
});
注意,由于我对表单和输入中使用的类或ID一无所知,这些示例使用非常通用的选择器,如果DOM中有多个表单或多个选择器,这将成为一个问题。我建议您将ID或类添加到表单和选择中,并使用它们来选择。那样的话,它将更加防弹

您可能还需要添加if语句,以确保仅在第一次单击时复制select。如果这是您希望它的行为方式。

您还可以:

使用PHP生成选择,禁用并隐藏它们,然后单击启用并显示。 使用PHP和json_encode为所有数据名alt对设置一个javascript变量,然后单击use the variable contents以使用javascript生成HTML选择。 您还可以:

使用PHP生成选择,禁用并隐藏它们,然后单击启用并显示。 使用PHP和json_encode为所有数据名alt对设置一个javascript变量,然后单击use the variable contents以使用javascript生成HTML选择。
PHP是在服务器端完成的,Javascript是在客户端完成的,所以请包含生成的HTML而不是PHP代码。PHP是在服务器端完成的,Javascript是在客户端完成的,所以请包含生成的HTML而不是PHP代码。感谢您的输入,我实际上使用克隆来获取表单,但问题是,您所说的ID和类。也许我必须用数组进行某种服务器端php编码,并进行一些内爆和爆炸,然后将其发送到我的数据库中。@andrewliu我不确定我是否理解你的意思。您想在db中存储什么?假设下拉列表将填充名称,如果我想添加另一个名称,我会单击add name(添加名称),这将克隆下拉菜单以添加另一个名称。基本上,我希望能够将每个名称保存为数据库中的不同行,这样每个名称都有一个ID,数据库会自动递增。我想不需要内爆和爆炸。但我只是说,因为我仍然可以做无限的可能性,对吗?还有,可能有问题。克隆,有可能删除某个克隆元素吗?谢谢你的输入,我使用克隆来获取我的表单,但问题是,你所说的ID和类。也许我必须用数组进行某种服务器端php编码,并进行一些内爆和爆炸,然后将其发送到我的数据库中。@andrewliu我不确定我是否理解你的意思。您想在db中存储什么?假设下拉列表将填充名称,如果我想添加另一个名称,我会单击add name(添加名称),这将克隆下拉菜单以添加另一个名称。基本上,我希望能够将每个名称保存为数据库中的不同行,这样每个名称都有一个ID,数据库会自动递增。我想不需要内爆和爆炸。但我只是说,因为我可以做无限的可能性,对吗?还有,克隆可能有问题。克隆,有可能删除某个克隆元素吗?