我想用javascript从数据库创建一个下拉列表。我正在尝试创建一个动态窗体,在其中可以使用“addmore”按钮添加多行。我的html表单包含一个输入类型文本和一个下拉列表
在html中
<form id="add_name" name="add_name">
<table class="table table-bordered" id="dynamic_field">
<tr>
<td>
<select class="form-control" name="nom_ar">
<?php
while ($row2 = $result2->fetch_assoc()){
echo "<option value='".$row2['nom_ar']."'>".$row2['nom_ar']." </option>";
}
?>
</select>
</td>
<td><input type="text" name="name[]" placeholder="insert name" class="form-control name_list" /></td>
<td><button type="button" name="add" id="add" class="btn btn-success">add more</button></td>
</tr>
</table>
</form>
在javascript代码中,我只添加了输入类型文本,我不知道如何添加下拉列表,如下面的代码所示:
$('#add').click(function(){
i++;
$('#dynamic_field').append('<tr id="row'+i+'"><td><select class="form-control" name="nom_ar"><?php while ($row2 = $result2->fetch_assoc()){echo "<option value='".$row2['nom_ar']."'>".$row2['nom_ar']."</option>";} ?></select></td><td><input type="text" name="name[]" placeholder="Ingredient" class="form-control name_list" /></td><td><button type="button" name="remove" id="'+i+'" class="btn btn-danger btn_remove">X</button></td></tr>');
}
我该怎么做?我在js中的下拉列表总是空的。作为一个初学者,我正在努力。我应该把php代码放在哪里?
1条答案
按热度按时间cgyqldqp1#
这是你的js代码
我故意将服务器端代码(server.php文件)和js代码分开。为什么?您不应该混用服务器端和客户端的代码,而应该使用ajax技术的强大功能。在server.php中添加echo所有必要数据的代码(在您的示例中是fetch\u assoc)。了解mvc模型https://en.wikipedia.org/wiki/model%e2%80%93view%e2%80%93controller
我还添加了json.parse函数。json是数据压缩和提交的标准,请检查php中的json\u encode/json\u decode函数并使用它们
不要经常使用表格,练习div/span