Моя проблема: у меня есть страница index.php, которая динамически загружает некоторое HTML-содержимое из admin_agent_area.php в некоторые div (#adminarea) в index.php. Это происходит при нажатии на ссылку «#adduser» и функция jquery обрабатывает загрузку и вставку. Теперь в admin_agent_area.php. У меня есть некоторые другие div (#usertable), который загружается с таблицей, когда был загружен admin_agent_area.php.
id = # adduser - это ссылка () в index.php, вне "adminarea".
При нажатии в таблице выдается предупреждение.
Ссылка #adduser по-прежнему видна после загрузки контента. При повторном нажатии снова загружается файл admin_agent_area.php, а также таблица. Щелчок внутри таблицы теперь выводит предупреждение два раза друг за другом. Это плохо, это должно быть только один раз. Я вижу в Firebug, что вещи действительно происходят дважды, когда я хочу, чтобы это происходило только один раз.
У меня была похожая проблема, и я решил ее, используя .empty перед загрузкой контента. Но при этом все было на одной стороне.
index.php часть структуры
< a id="adduser"> Add user < /a>
< div id = "adminarea">< /div>
admin_agent_area.php часть структуры
< div id="modalarea">< /div>
< div id="usertable">< /div>
admin_agent_area.php
Мой JavaScript загружен с index.php
$(document).ready(function() {
$("#adduser").click(function () {
$("#adminarea").empty();
$("#adminarea").load("http://localhost/SMICAdmin/adminactivities/admin_agent_area.php", function(data) { });
});
});
Весь контент из admin_agent_area.php загружается в div #adminarea в index.php. Я подумал, что, убедившись в том, что я загрузлю его перед загрузкой нового контента, можно будет, так сказать, сбросить всю #adminarea, как если бы я никогда ничего не загружал раньше.
Это javascript, загружаемый вместе с admin_agent_area.php. При щелчке строки в таблице запускается этот скрипт:
$("table[id$='agents'] td:nth-child(1)").live('click',function(event)
{
$("#usertable").empty();
alert("loadupdatagent");
event.preventDefault();
var $td= $(this).closest('tr').children('td');
var $agentid=$td.eq(2).text();
$.get("http://localhost/SMICAdmin/adminactivities/admin_update_agent.php", { agent_id: $agentid }, function(data){
$("#modalarea").empty();
$("#modalarea").html(data);
$('#modalarea').css("visibility","visible");
});
И, как вы можете видеть, это сценарий, в котором находится предупреждение.
id = # modalarea - это область, в которую предполагается загружать некоторый контент после щелчка по строке таблицы. Это не должно иметь значения для самой проблемы, но я вижу в Firebug, что запрос .get выполняется также дважды.
Как мне исправить эту проблему? Я не думаю, что HTML-код должен быть необходим, пожалуйста, дайте мне знать, и я добавлю его также.