2011-02-01 3 views
0

У меня есть страница, загружающая iFrame, у которой есть источник, на основе какой ссылки пользователь нажимает. IFrame возвращает небольшую таблицу, в которую мне нужно добавить строку.Добавление строки в таблицу в iFrame с помощью jQuery (live?)

Моя проблема в том, что мне нужно использовать что-то вроде .live или .delegate, поскольку iFrame не загружается на document.ready. Как связать .append с .live или .delegate при загрузке iFrame, а не с функцией типа щелчка или мыши?

Я пробовал:

$(document).ready(function(){ 
    $('#click').click(function(){ 
     $('#myFrame').attr('src', 'http://iframe_link_here/'); 
    }); 

// Add the new row 
$('<tr><td>New Row</td><td>goes here</td></tr>').appendTo('#myTable'); 
}); 

но таблица не существует на document.ready, и так как я хотел, чтобы добавить эту строку на нагрузке Iframe, и просто не знают, как приложите к нему.

Спасибо за любую помощь.

ответ

0

Просто идея:

$(document).ready(function(){ 
    $('#click').click(function(){ 
     $('#myFrame').attr('src', 'http://iframe_link_here/'); 
    }); 

    $('#myFrame').on('load',function(){ 
     // Add the new row 
     $('<tr><td>New Row</td><td>goes here</td></tr>').appendTo('#myTable'); 
    }); 

}); 

EDIT: .live() теперь осуждается, поэтому .on() следует использовать вместо этого.

+0

Спасибо, похоже, что это работает на меня. – InsertOldUserIDHere

+0

Новый способ сделать это, потому что 'live' обесценивается. –

+0

@parladneupane Вы можете использовать функцию '.on()'. См. Отредактированный ответ. –

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