2

Всем здрасти. :)
Делаю сайт, в админ панели есть редактор новостей. При клике по новости, должно появиться диалоговое окно с формой, для редактирования новости.

$(".edit").click(function () {
            var elementId = $(this).parent().attr("rel");
            $.get("/Admin/EditNews", { id: elementId }, function (data) {
            $(data).dialog({ modal: true, title: "Редактор новости", width: 580, height: 450 });

        });

    });

То есть, форма запрашивается через get, и затем, помещается в диалоговое окно. На самом деле, всё корректно работает, кроме одного момента. Почему - то ПЯТЬ диалоговых окон появляется. С формой только одно, остальные 4 только с заголовком. И чтобы начать редактировать новость, сперва надо закрыть первые 4. )

Что это за баг такой?

Eugene
  • 647
  • 2
  • 19
  • 46
  • А в data у вас разве объект jquery? Рискну предположить, что там 5 дивов и jquery их парсит) – Sh4dow Nov 29 '11 at 01:51
  • сейчас посмотрим. ) – Eugene Nov 29 '11 at 06:36
  • хм, data сделал return json. Возвращает да, несколько ДИВов. но не пять, и всё это в одном общем диве. результат абсолютно тот же. – Eugene Nov 29 '11 at 06:43
  • Да, похоже, дело в data. Если вывести что - либо другое, срабатывает нормально. Осталось найти, в чём причина. – Eugene Nov 29 '11 at 06:52

1 Answers1

3

Попробуйте так: (впилите в документ див с id, допустим, myDialog, и в data возвращайте как обычно текст)

$.get("/Admin/EditNews", { id: elementId }, function (data) {
  $('#myDialog').html(data);
  $('#myDialog').dialog({
    modal: true,
    title: "Редактор новости",
    width: 580,
    height: 450
    });
  });
Sh4dow
  • 14,305
  • 1
  • 22
  • 35
  • То, что надо, благодарю.
    Кстате, а количество дополнительных диалогов приравнивалось количеству
    – Eugene Nov 29 '11 at 10:33