我有一些对象的表格。如果是下拉框,当用户单击旁边的按钮时,前一个下方会出现一个新的下拉框。用户选择一个项目,如果他想要,再次点击该按钮,会出现一个新的下拉框,他选择一个项目,依此类推。 这是我的下拉框和按钮的代码。我不知道如何制作这样的东西。
<td>
<?php
echo "<select name=\"dropdown_docs_remove\" id=\"dropdown_docs_remove\">";
for ($i=0; $i<count($regulationsarr); $i++){
echo "<option value=\"$i+1\">$regulationsarr[$i]</option>\n";
}
echo "</select>";
?>
<INPUT TYPE=BUTTON NAME=btn_removedoc VALUE="+" ONCLICK="add_newdoc_to_remove()">
</td>
答案 0 :(得分:3)
问题是您需要使用JavaScript在客户端执行此操作。
PHP在服务器上运行。在浏览器呈现页面之前很久,您的代码就不再运行了。
我建议你学习使用jQuery。 http://docs.jquery.com/Tutorials
答案 1 :(得分:1)
此功能称为AJAX(异步JavaScript和XML)。
换句话说,它允许一个javascript ..脚本用一些数据向服务器发出请求(只是像浏览器一样的普通请求),然后处理结果并更新页面的一部分而不刷新整个
这不是一项简单的任务,有很多事情需要考虑。如果您认为将来需要它并使用此方法,请花些时间学习AJAX。 jQuery是一个非常棒的javascript库,具有完美的ajax支持,应该比学习普通的Javascript更容易。
只需提示一下,您可以使用jQuery进行POST(更安全)请求:
$.post('/url/to/your/script.php', {'key1': 'value1', 'key2': 'value2'}, function(result) {
// This function is called after the server responds, and result holds either RAW response (html or whatever), or you can parse it as JSON by supplying a fourth argument to $.post with value 'JSON'. Here is where you update your HTML page.
});
至于服务器端,一切都像普通请求一样,除了你不需要(你不应该)返回整个HTML页面,但只是一小部分 - 在你的情况下,下拉列表您需要插入的HTML框。