Załaduję formularz i dynamicznie wypełniam zaznaczenie przez AJAX z pliku PHP. Przed zaimplementowaniem dynamicznego AJAX populated select, moja funkcja zmiany działa (pokazuje tylko inne wejście, gdy użytkownik wybierze "inne"). Teraz funkcja zmiany nie działa.Dlaczego funkcja zmiany jQuery nie działa po załadowaniu html przy pomocy AJAX?
Wiem, że funkcja Ready jest uruchamiana, ponieważ działają funkcje jStepper. Próbowałem tego z funkcją zmiany w funkcji gotowości i poza nią. Mam wrażenie, że funkcja zmiany ładuje się zanim AJAX się zakończy, ale czy to naprawdę ma znaczenie?
var types = "<select name='ve_categoryNo' id='ve_categoryNo'>";
var d = new Date();
$.get('scripts/vehicle_category_feed.php?date=' + d.getTime(), function ($type)
{
$($type).find('type').each(function()
{
types += "<option value='" + $(this).attr("categoryno") + "'>" + $(this).attr("category") + "</option>";
});
types += "<option value='other'>Other(Specify)</option></select>";
$('#ve_categoryNo_td').html(types);
});
$(document).ready(function()
{
$('input[type=text]').click(function()
{
$(this).select();
});
$('#vehicle_entry').ajaxForm(function()
{
showMessage('vehicle_information_added');
});
$('#ve_ariNo').jStepper({minValue: 1, maxValue: 99999999});
$('#ve_fleetNo').jStepper({minValue: 1, maxValue: 999999999});
$('#ve_vehicleYear').jStepper();
$('#ve_purchasePrice').jStepper({minValue: 0});
$('#ve_categoryNo').change(function()
{
if ((this.value) == "other")
{
$('#otherCategory').show();
$('#otherCategory input[type=text]').focus();
} else
{
$('#otherCategory').hide();
}
});
});
Możliwy duplikat [Oprawa zdarzenia na dynamicznie tworzonych elementach?] (Http://stackoverflow.com/questions/203198/event- binding-on-dynamically-created-elements) – showdev