Javascript 在“选择”下拉列表中隐藏选定选项

Javascript 在“选择”下拉列表中隐藏选定选项,javascript,jquery,html,css,Javascript,Jquery,Html,Css,已选择的值不应出现在下拉列表中。例如,如果我选择feb,则feb不应出现在下拉列表中 JSIDLE链接: 此外,如果要从一开始就触发隐藏选项,请添加.trigger'change';: $'mySelect'.onchange,函数{ $“选项:已选定”,this.hide.sides.show; }.触发“改变”; A. B C 您的选择器选项[value='+optionval+']'错误。您正在尝试按其值选择选项,但缺少value='XXX'属性,因此请尝试以下操作: 只需克隆它的sel

已选择的值不应出现在下拉列表中。例如,如果我选择feb,则feb不应出现在下拉列表中

JSIDLE链接:

此外,如果要从一开始就触发隐藏选项,请添加.trigger'change';:

$'mySelect'.onchange,函数{ $“选项:已选定”,this.hide.sides.show; }.触发“改变”; A. B C 您的选择器选项[value='+optionval+']'错误。您正在尝试按其值选择选项,但缺少value='XXX'属性,因此请尝试以下操作:


只需克隆它的select元素并将其存储在变量中即可

$('#mySelect').change(function(){
    var optionval = $('#mySelect').val();
    $('#mySelect  option:contains("'+optionval+'")').hide().siblings().show();;

});
然后继续并从列表中删除选定的


克隆部分适用于您需要原始DOM元素的情况,然后您可以始终将其附加到DOM。

您忘记正确关闭最后一个选项标记。它可能与beat me重复。。。而且效果很好,至少在我解释问题时是这样的+1隐藏选项不兼容跨浏览器:-
$('#mySelect').on("change", function(){
    $('option:selected', this).hide().siblings().show();
});
$('#mySelect').change(function(){
    var optionval = $('#mySelect').val();
    $('#mySelect  option:contains("'+optionval+'")').hide().siblings().show();;

});
var $original = $("#mySelect").clone(true); // The argument "true" copies any event handlers.
$("#mySelect").change( function(e){
  e.preventDefault();
  var val = $(this).val();
  $("#mySelect option[value='"+val+"']").remove();
});