Используя jQuery UI , у меня есть плагин для вкладок, и на вкладке 1 загружается страница, которая содержит таблицу и в каждой строке есть ссылка на диалог.
Все работает правильно, сохраните следующее:
В диалоге есть опция для удаления строки, из которой был открыт текущий диалог.После подтверждения и удаления строки вкладка обновляется, и отображается новая таблица с удаленной соответствующей строкой.
Теперь проблема заключается в том, что после закрытия диалогового окна, в котором я выполнял удаление (либо через JavaScriptфункция, которая выполняла удаление (или вручную с помощью кнопки закрытия в диалоговом окне), диалоговое окно сохраняет данные из удаленной строки.
Например,
В списке три строки;
Открыть диалог из строки 2;
Удалить;
Диалог закрыт из функции JavaScript, вкладка обновляется, теперь две строки;
Ссылка открытия диалога в диалоговом окневторая строка (которая раньше была строкой 3) имеет тот же идентификатор диалогового окна, что и только что открытая;
Щелкните ссылку открытия диалога в строке 2;
Диалоговое окно отображается так же, как и раньше - для старой строки2, вместо текущей строки 2;
Закрыть диалоговое окно;
Щелкните ссылку открытия диалогового окна в строке 2;
Отображается правильно - данные из текущей строки 2;
Я не знаю, сделал ли этоense ... Вот картинка того, что происходит:
Итак, строка под удаляемой строкой наследует идентификатор диалога, а при нажатии показывает старый диалог.Если закрыто, а затем снова открыто, в диалоговом окне отображается правильное содержимое.
Я использую dialog("close")
в настоящее время и пробовал dialog("destroy")
, но это полностью убивает его, а строка ниже не 't ничего открыть ...
Как я могу решить эту проблему?
Код создания диалогового окна:
<script>
<?php
$ee=1;
foreach($bugs->result() as $rr){
echo "jQuery(\"#dialog_$ee\").dialog({autoOpen:false,width:850,height:550});\n";
$ee++;
}?>
</script>
Затем откройте диалоговое окно:
jQuery("#dialog_<?=$i?>").dialog("open");