2010-06-02 4 views
0

У меня возникли некоторые проблемы с Jquery и JqModal, и я надеюсь, что вы в состоянии помочь, так как я боролся в течение нескольких часов ..Jqm не является функцией

Имея один элемент кнопки с OnClick действие работает мой метод «тест» (как показано ниже):

$('#picture_form').jqm({ajax: '/test.php'});

$('#picture_form').jqmShow();

Это загрузит Аякс содержимого test.php в мой сНе элемента picture_form, показанном с помощью JqModal, как его должен! Хотя, когда я закрываю это окно и повторно нажимаю кнопку, я получаю ошибку:

$ ("# picture_form"). Jqm не является функцией.

В качестве решения я попытался использовать функцию триггера JqModal, и это оставляет мне возможность открывать и закрывать окна JqModal столько раз, сколько я хочу. К сожалению, я могу только вызвать «триггер» с использованием тестовой среды, в моем производственном коде мне нужно открыть окно JqModal с помощью функции.

Кто-нибудь знает, почему эта ошибка появляется при вызове открытия при использовании функция?

Заранее спасибо

ответ

0

Если память, вы должны только вызвать метод инициализации jqm один раз. Попробуйте инициализировать модальное событие document.ready, а затем в вашем onclick вам просто нужно вызвать функцию jqmShow. Если это все еще не работает, можете ли вы опубликовать немного больше окружающего кода? Удачи!

+0

Спасибо за ваш ответ. Я уже пробовал инициализировать метод Jqm в готовом документе. Хотя это, похоже, не имеет никакого значения. Вот отрывок из моего кода: http://pastie.org/990167 Что я надеюсь, в конечном итоге capeable из является обязательной функцией jqm моей пользовательской кнопки в TinyMCE. – Kristian

+0

похоже, что вы вызываете метод инициализации 'jqm' _twice_? Попробуйте объединить их в вызовы только один раз. Я не уверен, что это настоящая проблема, но, как я уже сказал, я считаю, что вы только должны назвать это один раз ... – Funka

+0

Hi Funka, Это была настоящая проблема На моей странице ajax я был вызывая его снова, что сделало ошибку функции как-то. – Kristian

1

Это должно решить проблему. Добавьте его в том месте, где вы хотите его показать:

$('#ex2').jqm({ajax: action,target: 'div.jq_content', trigger: false, modal:true }).jqmShow(); 
Смежные вопросы