Изменение jQuery только тогда, когда оно уже существует в div

В настоящее время у меня есть страница с div с ID окружающим кнопку «Да» и «Нет». Когда кнопки выбраны, jQuery заменяет информацию в ID с add_song.php файла add_song.php который он вызывает.

У меня есть живое change и живая keyup при выпадающем add_song.php на странице, когда художник меняет его, меняет идентификатор исполнителя в add_song.php . Проблема в том, что я выбираю «да» или «нет», если я изменяю имя исполнителя, он загружает add_song.php .

Как мне разрешить change и keyup чтобы изменить исполнителя, когда add_song.php загружался после нажатия кнопки «Да» или «Нет», вместо того, чтобы загружать его, когда художник был изменен при change / keyup .

Вот PHP:

 echo '<span class="edit-buttons"><input type="submit" value="yes" id="add_existing_song"></span>'; echo '<span style="padding-left:10px" class="edit-buttons"><input type="submit" value="no" id="add_new_song"></span>'; echo '<div id="display_add_new_song"></div>'; 

Извините, вот код jquery:

 $(document).ready(function(){ $("#add_new_song").live("click", function() { var artistid = $("#artist").val(); $("#display_add_new_song").load("php/add_song_new.php?var1=" + artistid); }); }); $(document).ready(function(){ $("#artist").change(function() { var artistid = $("#artist").val(); $("#display_add_new_song").load("php/add_song_new.php?var1=" + artistid); }); }); $(document).ready(function(){ $("#artist").keyup(function() { var artistid = $("#artist").val(); $("#display_add_new_song").load("php/add_song_new.php?var1=" + artistid); }); }); 

Solutions Collecting From Web of "Изменение jQuery только тогда, когда оно уже существует в div"

Вы должны переместить привязку события keyup / change в .load обратного вызова .load . .load может принимать второй параметр, который является обратным вызовом, который должен выполняться сразу после загрузки содержимого, позволяя вам связать события с #artist сразу после его загрузки.

Кроме того, вы можете объединить JavaScript, который будет выполнен после того, как документ будет готов к одному блоку, и вы можете объединить события, которые вы хотите привязать к тем же функциям, которые удаляют немного дублированного кода в ваших сценариях.

Учитывая ваш код, вы должны изменить его на следующее:

 $(document).ready(function(){ $("#add_new_song").live("click", function() { var artistid = $("#artist").val(); $("#display_add_new_song").load("php/add_song_new.php?var1=" + artistid, function(){ $("#artist").on("keyup change", function() { var artistid = $("#artist").val(); $("#display_add_new_song").load("php/add_song_new.php?var1=" + artistid); }); }); }); });