【问题标题】:How can I remove options in multiple dropdown menus如何删除多个下拉菜单中的选项
【发布时间】:2017-10-19 06:28:51
【问题描述】:

我想知道是否有人知道如何删除您在多个下拉菜单中所做的选择。

我不知道你是否可以使用下拉菜单来做到这一点,也许我需要数据列表或其他东西。

但我的意思是我有例如 6 个这样的下拉菜单 dropdown menu's

我做到了,所以你有 1 - 6,但如果我在第一个菜单中选择数字 3,我怎样才能在第二个菜单中删除它,或者使其不可见。

我在多个项目中遇到过这个问题,但不知道如何解决。

菜单的 1 个代码

<select name="getal" form="enquete" />

  <?php
    for($i=1; $i<=5; $i++)
    {
      echo "<option value=".$i.">".$i."</option>";
    }
  ?> 
</select>

【问题讨论】:

  • 你需要 JavaScript。仅使用 PHP 无法做到这一点。
  • 好吧,没关系,我已经认为你需要 javascript 或 jquery。但是我该怎么做而不是
  • 您为每个&lt;select&gt; 设置onchange,遍历其他onchange,然后删除或隐藏该选项。它不是用两行来解决的,但 SO 也不是免费的代码编写服务。自己尝试一下,然后在遇到困难时编辑您的问题。
  • ... 这里有一个很好的如何使用 jQuery 删除
  • 这是一种方法:jsfiddle.net/khrismuc/rynuo1bz

标签: javascript php jquery html drop-down-menu


【解决方案1】:

假设您有 2 个选项选择这样的项目:

<select name="getal" form="enquete" class="selectmenu"/>
<?php
      for($i=1; $i<=5; $i++)
    {
      echo "<option value=".$i.">".$i."</option>";
    }
?> 
</select>
<select name="getal2" form="enquete" class="selectmenu"/>
<?php
  for($i=1; $i<=5; $i++)
  {
    echo "<option value=".$i.">".$i."</option>";
  }
?> 
</select>

您可以添加 2 个 jquery 选择器 - 它们可以是动态的 - 我正在向您展示如何使用 2 个下拉列表:

var $drop1 = $("#geta1");
var $drop2 = $("#geta2");

创建一个函数以对下拉列表 1 的更改做出反应(同样,您可以在单击的旁边的每个上执行此操作):

$drop1.change(function() {
    var selectedItem = $(this).val();
    if (selectedItem) {
        $drop2.find('option[value="' + selectedItem + '"]').remove();
    }
});

我们只是删除了选项,如果您愿意,可以在再次更改时重新添加它们。创建一个数组并遍历选项,如果不存在,则追加缺少的选项。

这是你想做的吗?

【讨论】:

    【解决方案2】:
     $("#drop1").change(function () {
            var d1 = this.value;
            if(d1==3)
            {
            $('#drop3').hide();
            }
        });
    

    【讨论】:

    • 这将隐藏整个
    • 为什么你需要使用一个变量来存储一个比较值?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-06
    • 2019-11-15
    • 2018-04-01
    • 2014-10-20
    相关资源
    最近更新 更多