2014-11-21 2 views
0

Я добавляю динамически форму в <div> с использованием jQuery с некоторыми данными, полученными через Ajax (это сделано для обновления некоторых записей). Проблема в том, что я не могу запустить событие click в этой форме, поскольку я предполагаю, что он создан после того, как документ готов. Мне нужно запустить это событие, чтобы снова вызвать Ajax и сохранить новые данные в db.jQuery: событие щелчка на динамически добавленном HTML

В основном, это создает форму в <div id="#result">:

jQuery(document).ready(function ($) { 
    $.ajax({ 
     [...] 
     success: function(data) { 
      $('#result').html(
       '<form name="form_name_here">' + 
        '<input type="text" value="' + data[0].it + '">' + 
        [...] 
        '<input type="button" id="update_record" value="Save"> ' + 
       '</form>' 
      ); 
     } 
    }); 
}); 

Но тогда это не будет работать:

jQuery(document).ready(function ($) { 
    $.ajax({ 
     [...] 
    }); 
    $('#update_record').click(function() { 
     console.log('test'); 
    }); 
}); 

Я попытался также $('#update_record').on('click', function() { без успеха.

+0

Не могли бы вы создать JSFiddle с этим в? –

ответ

4

Try:

$(document).on("click", "#update_record", function(){ 
}); 
+0

спасибо, это работает ... так это правильный и официальный способ запускать элемент, добавленный после? – Mariano

+0

Насколько я знаю, это так. :) – twain

Смежные вопросы