Диалоговое окно JQuery не работает в Joomla 3

Здесь я пытаюсь показать диалоговое окно jquery с тремя кнопками после нажатия кнопки удаления из компонента стороны администратора Joomla. Использование основного шаблона Joomla. Но диалоговое окно не отображается. Проведено простое диалоговое окно. Это тоже не отображается.

Вот мой view.html.php

JHtml::_('jquery.framework'); // load jquery
JHtml::_('jquery.ui'); // load jquery ui from Joomla

код сценария

    <script type="text/javascript">
    Joomla.submitbutton = function(task){
    if (task == 'groups.cascadedelete') {
           jQuery('<p>Are you sure?</p>').dialog({
                buttons: {
                     "Cascade Delete": function() {          
                        jQuery('#cascadedelete').val('1');   
                        Joomla.submitform(task, document.getElementById('adminForm'));
                        },
                    "Delete":  function() {
                        Joomla.submitform(task, document.getElementById('adminForm'));
                        },
                    "Cancel":  function() {
                        dialog.dialog('close');
                    }
                }
            });
    }else{
        Joomla.submitform(task, document.getElementById('adminForm'));
    }   
}
</script>

Если я нажимаю кнопку для отправки, всплывающее окно не отображается. Я проверил консоль в mozilla, и она говорит, как показано ниже,

TypeError: jQuery(...).dialog is not a function
1 голос | спросил ram 23 J0000006Europe/Moscow 2015, 09:08:35

2 ответа


1

JHtml::_('jquery.ui'); будет загружать только основной компонент . Диалог, похоже, не является частью этого.

Вы можете указать, какие компоненты он должен загрузить. Однако единственным поддерживаемым компонентом является sortable

Это означает, что dialog просто не поставляется с Joomla. Вы должны распространять и загружать свою собственную копию.

При этом вам следует взглянуть на всплывающие подсказки, popover и модалы из Bootstrap 2.3. Они поставляются с Joomla и могут использоваться для аналогичных целей.

ответил Bakual 23 J0000006Europe/Moscow 2015, 10:00:34
0

Попробуйте следующее:

Также проверьте, правильно ли загружен Jquery Ui Script или нет

if (task == 'groups.cascadedelete') {
           jQuery('<p>Are you sure?</p>').dialog({
           autoOpen : true,width : popWidth,modal : true,dialogClass: 'no-close',
            draggable: true, resizable: true, position: [306,105],
            buttons : {


    "Cancel":  function() 
    {
    $(this).remove();
    or
    $(this).dialog("close");
    }
ответил Jextn 23 J0000006Europe/Moscow 2015, 10:43:44

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132