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