Ссылка предварительно созданный диалог JQuery на основе селектора?

0

Я создаю диалог jQuery обычным способом, $('#MyDlg').dialog(...) и отображает его. В какой-то другой функции я хочу ее закрыть, поэтому я $('#MyDlg').dialog('close'), но ничего не происходит.

После некоторого тестирования я обнаружил, что, если я сохраню ссылку на объект из создания диалога, сделаю его доступным для другой функции и вызовет dialog('close'), диалог закрывается, как ожидалось.

Разве это не должно работать так, как я пытался в первую очередь? Или я чего-то не хватает?

  • 2
    Ваш первый фрагмент должен работать. Есть ли у вас более одного элемента с атрибутом MyDlg id?
  • 0
    Ага! Вы правы! Проблема заключается в том, что диалоговое окно DIV перестраивается в исходном местоположении DOM с помощью вызова Ajax, поэтому другая функция выбирает этот «не диалоговый» DIV, а не первый. Мне придется пересмотреть мою логику / макет ... Спасибо!
Теги:
dialog

1 ответ

1

Комментарий Фредерика Хамидиса в правильном направлении. Диалог DIV перестраивается в исходном местоположении DOM с помощью вызова Ajax, поэтому другая функция выбирает этот "недиалогизированный" DIV, а не первый. Я получаю DOM, содержащий два DIV с одинаковым идентификатором. Нехорошо.

Я перенесу диалог div в часть макета, которая не будет восстановлена.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню