jQuery не может привязать событие к загруженному элементу AJAX, используя .on () [duplicate]
На этот вопрос уже есть ответ здесь:
Привязка событий к динамически создаваемым элементам? 23 ответаИспользуя .load, я загружаю следующее содержимое в # step_2 div:
<div id="step_2">
Select a subcategory:
<select id="subcategory_id" name="subcategory_id">
<option value="0">All subcategories</option>
<option value="68">Cool</option>
<option value="15">Cooler</option>
<option value="74">Excellent</option>
</select>
</div>
Затем я пытаюсь определить, когда пользователь выбирает что-то:
$("#subcategory_id").on("change", function(){
alert( 'Success!' );
});
но безуспешно Кто-нибудь видит, что я делаю не так? Помощь очень ценится.
ПРИМЕЧАНИЯ:
Вот полный путь CSS, который видит FireBug:
html.js body div#container div#main form div#step_2 select#subcategory_id
Вот полный файл javascript, если контекст имеет значение:
$(document).ready(function() {
$("#category_id").change(function() {
$("#spinner").show();
$("#step_2").load("process.php?selected=category", { value: $(this).val() }, function() {
// Do something to say the data has loaded sucessfully
$("#spinner").hide();
});
});
$("#subcategory_id").on("change", function(){
alert( 'Success!' );
});
});