次の 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>
<select name="Fault" class="textbox" id="faultw">
<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="faulttextw" style="color:Red; display:none">Text in the span</span>
および次の jquery スクリプト:-
$(document).ready(function(){
$('#fault option:nth-child(n+12)').wrapAll('<optgroup label="Urgent Faults">');
$('#faultw option:nth-child(n+12)').wrapAll('<optgroup label="Urgent Faults">');
$("#fault").change(function (event) {
var $selected = $(this).find("option:selected");
$("#faulttext").fadeToggle(!!$selected.closest("optgroup").length);
});
$("#faultw").change(function (event) {
var $selected = $(this).find("option:selected");
$("#faulttextw").fadeToggle(!!$selected.closest("optgroup").length);
});
});
2 つの選択リストと 2 つのスパンがあることに注意してください。2 番目のセットには末尾に w が付いています。
また、上記の jquery は、接尾辞付きの要素セットを処理するために複製されていることに注意してください。
上記のjqueryを変更/片付けて両方に対処するにはどうすればよいですか?
セレクターとして使用#fault, #faultw option:nth-child(n+12)
しても機能しないようです。
また、jquery の 2 番目のビットで、使用して変更イベントを処理する場合、一致するスパン テキスト$("#fault, #faultw").change
が必要になります。fadeToggle
それとも、シンプルにしてそのままにしておくのが最善ですか?