Javascript 这是我的答案。禁用并显示Firefox、Chrome和Edge中的none作品,但IE或Safari(2018/2019)在回答另一个问题时制作了一个简单的JS演示片段隐藏,那是个好主意。不幸的是,您给出的代码示例无法在Firefox中运行。如果有一个灵活
Javascript 这是我的答案。禁用并显示Firefox、Chrome和Edge中的none作品,但IE或Safari(2018/2019)在回答另一个问题时制作了一个简单的JS演示片段隐藏,那是个好主意。不幸的是,您给出的代码示例无法在Firefox中运行。如果有一个灵活,javascript,jquery,cross-browser,Javascript,Jquery,Cross Browser,这是我的答案。禁用并显示Firefox、Chrome和Edge中的none作品,但IE或Safari(2018/2019)在回答另一个问题时制作了一个简单的JS演示片段隐藏,那是个好主意。不幸的是,您给出的代码示例无法在Firefox中运行。如果有一个灵活的jQuery插件,可以通过任意选择器删除并重新附加选项元素,那就太好了。我真的不想接受我自己的答案,但除非有人提出更好的答案,否则我可能不得不:-)在IE8上运行时,我对dave1010的答案有问题。attachOptions函数中的if(d
这是我的答案。禁用并显示Firefox、Chrome和Edge中的none作品,但IE或Safari(2018/2019)在回答另一个问题时制作了一个简单的JS演示片段
隐藏
,那是个好主意。不幸的是,您给出的代码示例无法在Firefox中运行。如果有一个灵活的jQuery插件,可以通过任意选择器删除并重新附加选项
元素,那就太好了。我真的不想接受我自己的答案,但除非有人提出更好的答案,否则我可能不得不:-)在IE8上运行时,我对dave1010的答案有问题。attachOptions函数中的if(d[i].is(o))调用会导致“object不支持此属性或方法”消息。以下是如何完成“TODO”部分。您必须将for循环更改为“for(var i=0;idocument.createElement()
创建)。不知道为什么这个andwer被否决。它确实回答了这个问题,而且做得很好。感谢这个答案,对我帮助很大。当你有一个完整的跨浏览器解决方案时总是很好。这应该是我接受的答案。这对我有帮助,关键是使用$.detach()(或$.remove())为了最大的跨浏览器兼容性而不是$.hide(),我在这一行添加了一个.toLowerCase():var optionText=$option.text();removeAttribute应该是removeAttribute
$('option').hide(); // hide options
<select>
<option class="hide">Hide me</option>
<option>visible option</option>
</select>
<script type="text/javascript">
// try to hide the first option
$('option.hide').hide();
// to select the first visible option
$('option:visible').first().attr('selected', 'selected');
</script>
$('option').prop('disabled', true);
select option[disabled] {
display: none;
}
$('option.hide').prop('disabled', true);
$(".hide").css("display","none");
$(".hide").remove();
(function($){
$.fn.extend({detachOptions: function(o) {
var s = this;
return s.each(function(){
var d = s.data('selectOptions') || [];
s.find(o).each(function() {
d.push($(this).detach());
});
s.data('selectOptions', d);
});
}, attachOptions: function(o) {
var s = this;
return s.each(function(){
var d = s.data('selectOptions') || [];
for (var i in d) {
if (d[i].is(o)) {
s.append(d[i]);
console.log(d[i]);
// TODO: remove option from data array
}
}
});
}});
})(jQuery);
// example
$('select').detachOptions('.removeme');
$('.b').attachOptions('[value=1]');');
function showOption(value){
$('#optionHolder option[value="'+value+'"]').appendTo('#selectID');
}
function hideOption(value){
$('select option[value="'+value+'"]').appendTo('#optionHolder');
}
<select multiple id="sel1">
<option class="set1">Blah</option>
</select>
<select multiple id="sel2" style="display:none">
<option class="set2">Bleh</option>
</select>
$('#sel2 .set2').appendTo($('#sel1'))
var $sel = $('#sel option').detach(); // global variable
$('a').on('click', function (e) {
e.preventDefault();
var c = 'name-of-class-to-show';
$('#sel').empty().append( $sel.filter('.'+c) );
});
$('#sel').data('options', $('#sel option').detach()); // data variable
$('a').on('click', function (e) {
e.preventDefault();
var $sel = $('#sel').data('options'), // jQuery object
c = 'name-of-class-to-show';
$('#sel').empty().append( $sel.filter('.'+c) );
});
(function($){
$.fn.extend({hideOptions: function() {
var s = this;
return s.each(function(i,e) {
var d = $.data(e, 'disabledOptions') || [];
$(e).find("option[disabled=\"disabled\"]").each(function() {
d.push($(this).detach());
});
$.data(e, 'disabledOptions', d);
});
}, showOptions: function() {
var s = this;
return s.each(function(i,e) {
var d = $.data(e, 'disabledOptions') || [];
for (var i in d) {
$(e).append(d[i]);
}
});
}});
})(jQuery);
option:disabled {display:none;}
$('select').each(function(){
var $select = $(this);
$select.data('options', $select.find('option'));
});
function filter($select, search) {
var $prev = null;
var $options = $select.data('options');
search = search.trim().toLowerCase();
$options.each(function(){
var $option = $(this);
var optionText = $option.text();
if(search == "" || optionText.indexOf(search) >= 0) {
if ($option.parent().length) {
$prev = $option;
return;
}
if (!$prev) $select.prepend($option);
else $prev.after($option);
$prev = $option;
}
else {
$option.remove();
}
});
}
jQ('#ddlDropdown option').wrap('<span>');
var selectedOption = jQ('#ddlDropdown').find("[selected]");
jQ(selectedOption).unwrap();
<select id="driver_id">
<option val="1" class="team_opion option_21">demo</option>
<option val="2" class="team_opion option_21">xyz</option>
<option val="3" class="team_opion option_31">ab</option>
</select>
team_id= 31;
var element = $("#driver_id");
originalElement = element.clone(); // keep original element, make it global
element.find('option').remove();
originalElement.find(".option_"+team_id).each(function() { // change find with your needs
element.append($(this)["0"].outerHTML); // append found options
});
let select = document.getElementById("select_id")
let to_hide = select[select.selectedIndex];
to_hide.setAttribute('hidden', 'hidden');
to_hide.removeAttr('hidden');
to_hide.hidden = true; // to hide
to_hide.hidden = false; // to unhide