В динамически созданной <TR> игнорируется AJaX

goodier
На сайте с 10.03.2009
Offline
36
524

Здравствуйте!

В помогите пожалуйста решить проблему с грамотным созданием строк в таблице и чтоб после создания Ajax не игнорировался.

В таблице содержатся несколько <TR c id="" пользователей и 10 колонок в которых аяксом выводится статистика и так далее....

сделал на этой же страничке кнопку "добавить юзверя" которая создает его в обработчике PHP , но не отображает в таблице как новая строка <TR с 10-тью колонками.

Помогите решить задачу!

Это внешний файл JavaScript:

[JS]function addNewTerminal(){

var login = $('#terminalname').val();

var pass = $('#terminalpass').val();

var sub = $('#terminalsub').val();

var agent = $('#terminalagent').val();

var MAXtr = $('#MAXtrnum').val();

$.ajax({

type : 'GET',

url : 'addus.php',

data : 'login='+login+'&pass='+pass+'&sub='+sub+'&agent='+agent+'&MAXtr='+MAXtr+'&hash='+Math.random(),

success : function(data){

data = eval('('+data+')');

$('#terminalerror').html(data.msg);

$('#TRnum'+MAXtr).html(data.msg2); } });

}

$('#newTerminalDialog').dialog('destroy').remove();

$.ajax({ success : function(data){

$('#newTerminalButton').click(function(){$("#newTerminalDialog").dialog('open')});

$("#newTerminalDialog").dialog({ bgiframe: true, modal: true, autoOpen : false,

buttons: {"Close" : function() { $(this).dialog('close'); },

"Создать" : function() { addNewTerminal(); } } });} });

[/JS]

Вот что на страничке с таблицей Юзеров:


$TRnum = 0;
while($row=mysql_fetch_array($query)) {


<tr id="TRnum<?=$TRnum;?>"><td colspan="10"></tr>
<tr id="TRnum<?=$TRnum;?>"><td colspan="10"></tr>
<tr id="TRnum<?=$TRnum;?>"><td colspan="10"></tr>

}

$TRnum += 1;


<tr id="TRnum<?=$TRnum;?>"></tr> <--! Суда вставляю строку -->
<div id="newTerminalDialog" title="Создание нового терминала" style='display:none;'>
<label for="terminalname">Логин:</label> <input id="terminalname" size="20" type="text" /><br />
<label for="terminalpass">Пароль:</label> <input id="terminalpass" size="20" type="text" />
<input id="MAXtrnum" value="<?=$TRnum;?>" type="hidden" />
<input id="terminalsub" value="<?=$sub_code;?>" type="hidden" />
<input id="terminalagent" value="<?=$agentid;?>" type="hidden" />
<br />
<div id="terminalerror" class="red"> </div>
</div>

Вот что в обработчике PHP

die("{msg:\"<b style='font-size:20px;'>Терминал создан!</b>\",msg2:\"<td id='username{$id}'>из этого ID в JS вытаскиваю логин </td><td>Password</td> вообщем еще тут 8 <TD></TD>\"}");

В таблице строка появляется но в ней не работает все что вызывает Ajax

Описал проблему как мог подробно! Помогите плиз или может у кого есть пример. Буду очень рад

T
На сайте с 20.03.2007
Offline
67
Toy
#1

Обработчики на ячейки вешаются при загрузке страницы. При создании новой строки на новые ячейки необходимо также назначить обработчики.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий