我试图用jquery隐藏一些<options>
标签,但它似乎不起作用。
我想要隐藏所有具有rel
属性的选项。
仅显示rel='3'
此代码适用于FF和Chrome。不适用于IE,Safari和Opera。
这是我的jsfiddle:
这是标记和脚本:
<select name="myselect" id="myselect" >
<option value=''></option>
<option rel='1' value='1A'>1A</option>
<option rel='1' value='1B'>1B</option>
<option rel='2' value='2A'>2A</option>
<option rel='2' value='2B'>2B</option>
<option rel='2' value='2C'>2C</option>
<option rel='3' value='3A'>3A</option>
<option rel='3' value='3B'>3B</option>
<option rel='3' value='3C'>3C</option>
<option rel='3' value='3D'>3D</option>
</select>
脚本:
$("#myselect [rel]").hide(); // hide all options
$("#myselect [rel=3]").show(); // hide whow only rel=3 options
答案 0 :(得分:1)
您无法隐藏或显示选项。你必须做的是克隆你不想要的选择和删除选项标签。
这样的东西答案 1 :(得分:0)
查看此代码并进行自定义。我希望它会有用......
$(function(){
$.fn.extend({
slidingSelect: function(options)
{
var select= $(this);
var selector=select.selector;
var selectedValue="";//=select.val();
var divToggle=$("<div>"+selectedValue+"select Complaint<span style='float:right;'>▼</span></div>").attr({id:select.attr("id")+"Toggle"}).click(function(){
$(selector).slideToggle();
}).insertBefore(select);
select.attr("size",6);
select.change(function(){
divToggle.html(select.val()+"<span style='float:right;'>▼</span>");
$(selector).slideToggle();
});
}
});
$("#complaint").hide().slidingSelect();
});