📜  https:stackoverflow.com questions 23318361 remove-a-dropdown-value-that-has-been-selected-from-another-dropdown-menu (1)

📅  最后修改于: 2023-12-03 15:15:45.660000             🧑  作者: Mango

主题:移除已选择的下拉菜单值

在Web应用程序中,下拉菜单是一种非常常见的用户界面元素。但是,有时我们需要在一个下拉菜单中选择一个选项后,将该选项从其他下拉菜单中删除,从而避免重复选择。本文将介绍如何使用JavaScript来实现这一功能。

一个常见的解决方案是使用无序列表(ul)和下拉列表(select)。当用户从一个下拉列表中选择一个选项时,我们会遍历其他下拉列表并将已选择的选项从它们中删除。以下是解决方案的代码段:

$('ul.dropdown-menu').on('click', 'a', function() {
  var selText = $(this).text();
  $(this).parents('.btn-group').find('.dropdown-toggle').html(selText+' <span class="caret"></span>');
  $(this).parents('.btn-group').find('.dropdown-toggle').val($(this).data('value'));

  $('ul.dropdown-menu').not($(this).parents('.dropdown-menu')).find('li a[data-value="'+$(this).data('value')+'"]').parent().remove();
});

首先,我们使用jQuery选择所有样式为dropdown-menu的无序列表元素,并定义点击处理程序。当用户从该列表中选择一个选项时,我们获取所选文本并将其设置为当前下拉列表的文本值。我们还将新选定的值设置为下拉列表的值。

接下来,我们使用not()函数找到不属于当前下拉列表的所有下拉列表,并删除其他下拉列表中已选择的选项。最后,我们将jQuery对象返回到函数。

这就是如何使用JavaScript从其他下拉列表中删除已选择的选项。希望这篇文章能帮助你实现自己的Web应用程序。