$(“#id option”)。hide(); 没有在safari / chrome上工作?
同样的:
$("#id option").show();
我很惊讶。 我认为我的代码出了问题。 我用空白的html尝试了它:
1 2
使用Javascript:
$("#name option").hide();
http://jsfiddle.net/kgLkt/
它就像火狐的魅力,但不是safari和铬!
有替代品吗?!
编辑:我需要隐藏/显示选项(或其中一些)出现在列表中。
隐藏:
var myOpts = $("#id option").detach();
显示:
$("#id option").append(myOpts);
与.remove()
相反, .detach()
保留与删除的元素关联的所有jQuery数据。
使用标准选择我不认为有任何跨浏览器方式来隐藏选择选项。
您可以查找自定义选择控件,也可以在分离的变量上保留完整的项目列表,并根据需要从选择中删除/添加项目。
嗯。 可能是一个实施问题……
也许试试吧
$("#name option").remove();
如果你需要保持对已删除内容的一些了解,那么请事先将它们加载到变量中。
var $opts = $("#name option");
然后你可以使用索引将它们添加回来:
$("#name").append( $opts.eq(n) );
你没有在小提琴中选择jQuery。 无论如何,您需要将
selectedIndex
设置为-1
以清除当前选择的选项: http : //jsfiddle.net/kgLkt/2/ 。
$("#name option").hide().parent().prop("selectedIndex", -1);
这将适用于safari
var select = $('#name'); var diff = 0; console.dir(select[0].options); select.find('option').each(function(x) { select[0].options[x+diff] = null; diff -= 1; });