使用PHP从下拉列表中清除所选项目

时间:2011-03-04 11:48:22

标签: php javascript drop-down-menu

我使用下面的代码从下拉列表中删除所选项目,但是当我删除一个时,会弹出另一个项目。例如,如果这些是我的选择:“枪支,汽车,钱”,因为我选择并删除枪支,汽车和钱仍然存在。但是,如果我选择汽车并将其删除,则会再次弹出已删除的枪支选项。这令人沮丧。

<?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>

3 个答案:

答案 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