我在表单中有一个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循环的相同选项),如果theres php我该如何做这样的事情?
非常感谢!
答案 0 :(得分:4)
PHP代码在服务器端运行,而jQuery是JavaScript,因此运行在客户端,因此PHP代码不会影响jQuery。从服务器返回的内容只是一个纯HTML元素。因此,您可以使用jQuery的.clone()制作选择的副本。
$('select').clone().appendTo('form');
由于您未指定要单击的内容以添加复制的选择,因此我将仅举例说明它的外观:
$("#my-id-to-click-on").click(function(){
$('select').clone().appendTo('form');
});
注意由于我对表单和输入中使用的类或ID一无所知,因此这些示例使用非常通用的选择器,如果DOM中有多个表单或多个选择,这将是成为一个问题。我建议您在表单中添加ID或类并选择,然后使用这些来选择。这样就会更加防弹。
您可能还想添加一个if语句,以确保仅在您第一次单击时复制select。如果这就是你希望它的表现。
答案 1 :(得分:1)
你也可以:
json_encode
设置包含所有数据(name-alt对)的javascript变量,然后单击使用变量内容以使用javascript生成HTML选择。