.change関数に応答するために(他のselectと同じクラスを持つ)個々のselectを取得しようとしていますが、それはselectの1つでのみ機能します。このコードをテストすると、より意味があります。いくつかの「ON/OFFイベント」を追加してから、さまざまな選択で「指定された時間」を選択してください。最初の1つだけが応答するのがわかります。何か案は?
ありがとう!
次のコードを参照してください。
$(document).ready(function() {
var neweventstring = '<div class="event">Turns <select name="ONOFF"><option value="On">ON</option><option value="Off">OFF</option></select> at: <select name="setto" class="setto"><option>Select Time</option><option value="Sunrise">Sunrise</option><option value="Sunset">Sunset</option><option value="specifiedtime">Specified Time</option></select></div>';
$('#addmondaysevent').click(function () {
$('#monday .events').append(neweventstring);
});
$('.setto').change(function() {
alert('The function is called');
if($("option:selected", this).val() =="specifiedtime"){
alert('If returns true');
$(this).css("background-color", "#cc0000");
$(this).after('<div class="specifictime"><input type="text" value="00" style="width:30px"/> : <input type="text" value="00" style="width:30px"> <select name="ampm"><option value="AM" selected>AM</option><option value="PM">PM</option></select></div>')
}
});
});
そして私のHTML:
<div id="monday">
<h2>Mondays</h2>
<div class="events">
<div class="event">
Turn
<select name="ONOFF">
<option value="On">ON</option>
<option value="Off">OFF</option>
</select>
at:
<select name="setto" class="setto">
<option>Select Time</option>
<option value="Sunrise">Sunrise</option>
<option value="Sunset">Sunset</option>
<option value="specifiedtime">Specified Time</option>
</select>
</div>
[<a id="addmondaysevent">Add an ON/OFF event</a>]
</div>
</div>