同样的:
$("#id option").show();
我很惊讶。我认为我的代码出了问题。我用一个空白的html尝试了它:
<select id = "name">
<option>1</option>
<option>2</option>
</select>
使用Javascript:
$("#name option").hide();
它就像火狐的魅力,但不是野生动物园,也不是铬!
有替代品吗?!
编辑: 我需要隐藏/显示选项(或其中一些)出现在列表中。
答案 0 :(得分:13)
隐藏:
var myOpts = $("#id option").detach();
显示:
$("#id option").append(myOpts);
与.remove()
相反,.detach()
保留所有与删除元素相关联的jQuery数据。
答案 1 :(得分:0)
使用标准选择我不认为有任何跨浏览器方式来隐藏选择选项。
您可以查找自定义选择控件,也可以在分离的变量上保留完整的项目列表,并根据需要从选择中删除/添加项目。
答案 2 :(得分:0)
嗯。可能是一个实施问题......
也许试试
$("#name option").remove();
如果您需要保留一些已删除的知识,请先将它们加载到变量中。
var $opts = $("#name option");
然后你可以使用索引将它们添加回来:
$("#name").append( $opts.eq(n) );
答案 3 :(得分:-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;
});
答案 4 :(得分:-1)
你没有在小提琴中选择jQuery。无论如何,您需要将selectedIndex
的{{1}}设置为<select>
以清除当前选中的选项:http://jsfiddle.net/kgLkt/2/。
-1