2017-03-27 28 views
0

我正在使用此脚本来打开一个对话框。但是,它抛出一个错误:初始化之前无法在对话框中调用方法;试图调用方法“打开”

Error: cannot call methods on dialog prior to initialization; attempted to call method 'open'

下面是HTML代码:

<div class="content-wrapper" style="display:none"> 
    <div id="dialog-error" title="LIST ERROR"> 
     <div class="row"> 
      <div class=""> 
       <div class="col-md-4"> 
        <span class="text text-green"><b>FIELD</b></span> 
        <div id="container-field"> 
         <table class="table table-condensed table-bordered table-hover" > 
          <tbody id="container-field-error"> 

          </tbody> 
         </table> 
        </div> 
       </div> 
       <div class="col-md-8"> 
        <div class="row"> 
         <span class="text text-green"><b>ERROR MESSAGE</b></span> 
         <div id="container-message" style="min-height: 150px"> 

         </div> 
        </div> 
        <div class="row"> 
         <span class="text text-green"><b>TYPE</b></span> 
         <div id="container-type" style="min-height: 150px"> 

         </div> 
        </div> 
       </div> 
      </div> 
     </div> 
    </div> 
</div> 

和这里的脚本:

$("#dialog-error").dialog({ 
     autoOpen: false, 
     width: '700px', 
     resizeable: false, 
     position: { 
      my: 'top', 
      at: 'top+150', 
      of: window 
     } 
    }); 
$('.btn-list-error').live('click', function() { 
     $('#dialog-error').dialog('open'); 
    }); 

这里是jQuery的版本在我的代码:

<script src="<?php echo Yii::app()->theme->baseUrl ?>/js/jQuery/jQuery-2.1.4.min.js"></script> 
<script src="<?php echo Yii::app()->theme->baseUrl ?>/js/jQuery/jQuery-migrate-1.2.1.min.js"></script> 
<script src="<?php echo Yii::app()->theme->baseUrl ?>/js/jquery-ui-1.11.4/jquery-ui.min.js"></script> 
<script src="<?php echo Yii::app()->theme->baseUrl ?>/js/bootstrap.min.js"></script> 
<!--<script src="<?php echo Yii::app()->theme->baseUrl ?>/js/jquery-ui-1.9.2.custom.min.js"></script> 
<script src="<?php echo Yii::app()->theme->baseUrl ?>/js/jquery.ui.touch-punch.min.js"></script>--> 
<script class="include" type="text/javascript" src="<?php echo Yii::app()->theme->baseUrl ?>/js/jquery.dcjqaccordion.2.7.js"></script> 
<script src="<?php echo Yii::app()->theme->baseUrl ?>/js/common-scripts.js"></script> 

任何人都可以帮忙我这里有什么问题? jQuery有冲突吗?

回答

0

你必须在调用open函数之前初始化jquery对话框。在你的html中,你可以在head元素中初始化jquery。

<script type="text/javascript"> 
    $(document).ready(function() { 
     initializeDialog(); 
    }); 
</script> 

并且改变你的js文件在initializeDialog()函数中有对话框代码。

function initializeDialog(){ 
    $("#dialog-error").dialog({ 
    autoOpen: false, 
    width: '700px', 
    resizeable: false, 
    position: { 
     my: 'top', 
     at: 'top+150', 
     of: window 
    } 
    }); 
} 
0

我想通了这里是怎么回事。在我的情况下,问题在于html代码。我的html代码有错误。我错在使用CSS类。一旦我解决了错误,代码运行良好。

相关问题