我使用下面的代码从下拉列表中删除所选项目,但是当我删除一个时,会弹出另一个项目。例如,如果这些是我的选择:“枪支,汽车,钱”,因为我选择并删除枪支,汽车和钱仍然存在。但是,如果我选择汽车并将其删除,则会再次弹出已删除的枪支选项。这令人沮丧。
<?php
$opts = array("guns","knives","ammo");
$selected = array($_POST['selectMenu']);
$revisedOpts = array_diff($opts,$selected);
?>
<form method="post">
<select name='selectMenu'><?php
foreach($revisedOpts as $v) {
echo "<option>".$v."</option>";
}
?></select>
<input onclick="array_diff()" name="Collect" type="submit" value="submit" />
</form>
答案 0 :(得分:1)
PHP仅在加载页面时起作用,并且反复加载相同的代码。为了使先前删除的选项保持删除状态,您需要某种数据持久性(如数据库)。否则,您可以使用javascript来操作客户端浏览器上的选择选项。 Here is a good discussion
如果必须将操作绑定到onclick()
并在服务器端接收事件,则需要使用AJAX调用。 onclick
调用一个单独的PHP脚本,该脚本删除该选项并返回某种成功消息。
答案 1 :(得分:0)
你想看看一些js代码来做到这一点。看看http://www.mredkj.com/tutorials/tutorial_mixed2b.html
之类的东西答案 2 :(得分:0)
使用jquery jquery auto suggestion