我有以下HTML标记: -
<select name="Fault" class="textbox" id="fault">
<option>Single Light Out</option>
<option>Light Dim</option>
<option>Light On In Daytime</option>
<option>Erratic Operating Times</option>
<option>Flashing/Flickering</option>
<option>Causing Tv/Radio Interference</option>
<option>Obscured By Hedge/Tree Branches</option>
<option>Bracket Arm Needs Realigning</option>
<option>Shade/Cover Missing</option>
<option>Column In Poor Condition</option>
<option>Several Lights Out (please state how many)</option>
<option>Column Leaning</option>
<option>Door Missing/Wires Exposed</option>
<option>Column Knocked Down/Traffic Accident</option>
<option>Lantern Or Bracket Broken Off/Hanging On Wires</option>
<option>Shade/Cover Hanging Open</option>
</select>
<span id="faulttext" style="color:Red; display:none">Text in the span</span>
此Jquery代码段将最后5个选项添加到选项组中。
$('#fault option:nth-child(n+12)').wrapAll('<optgroup label="Urgent Reasons">');
我想要做的是,如果display:none
中的任何项目被选中,则删除<optgroup>
,有效地显示跨区消息,可能还有淡入淡出过渡,并隐藏消息如果选择<optgroup>
之外的任何选项。
答案 0 :(得分:1)
怎么样:
$("#fault").change(function (event) {
var $selected = $(this).find("option:selected");
$("#faulttext").toggle(!!$selected.closest("optgroup").length);
});
答案 1 :(得分:0)
$('#fault').on('change', function(){
if($('option:selected',this).is('optgroup > option',this))
$('#faulttext').show();
});
你可以从这里开始实现逆方法。