2016-10-12 19 views
1

jQuery UIダイアログを使用しようとすると問題が発生するマスターページを使用しているaspxページがあります。asp.netのjQuery UIダイアログ - オブジェクトがプロパティまたはメソッド 'ダイアログ'をサポートしていません

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server"> 
<link href="/Styles/SiteFramePage.css" rel="stylesheet" type="text/css" media="Screen"/> 
<link href="Styles/ArrivalTemplate.css" rel="stylesheet" type="text/css" /> 
<link href="Styles/jquery-ui-1.12.1.css" rel="Stylesheet" type="text/css" /> 
<style type="text/css"> 
    .DisabledCheckout 
    { 
     background-color:Gray; 
     color:Black; 
     Width:100%; 
     font-weight:bold; 
    } 
    body.waiting 
    { 
     cursor: wait; 
    } 
    .no-close .ui-dialog-titlebar-close { 
     display: none; 
    } 
</style> 

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.11.1.js"></script> 
<script type="text/javascript" src="Scripts/jquery-ui-1.12.1.js"></script> 
<script src="Scripts/SMS_JClient.js" type="text/javascript"></script> 

ダイアログのための私のdiv要素は次のとおりです。私はまた、ダイアログとしてのdivを設定ページの下部にあるスクリプトを持って

<div id="ChckDgtDialog" title="Enter Check Digit"> 
    <table> 
     <tr> 
      <td id="ChckDgtDialogError"></td> 
     </tr> 
     <tr> 
      <td id="ChckDgtDialogPrompt">Please enter the check digit on the container.</td> 
     </tr> 
     <tr> 
      <td align="center"><input type="text" id="ChckDgtDialogTextBox" size="50" onkeypress="isChckDgtDialogSubmit(event)" /></td> 
     </tr> 
    </table> 
</div> 

$("#ChckDgtDialog").dialog({ 
     autoOpen: false, 
     dialogClass: "no-close", 
     width: 425, 
     modal: true, 
     buttons: { 
      "Ok": checkDigitValidate, 
      Cancel: function() { 
       var dialogbox = $('#ChckDgtDialog'); 
       $(dialogbox).dialog("close"); 
      } 
     }, 
     open: function() { 
      stopTimer(); 
     } 
    }); 

$(window).load()上のデータを取得し、ボタンで表を作成Content1内の長いスクリプトタグがあります。そのスクリプトブロック内では、ダイアログボックスを開く必要があり、次の文があります:

$(":button").click(function() { 

Option = $(this).text(); 

if (Option == "Check In") { 

    $("#ChckDgtDialog").dialog("open"); 

} 
if (Option == "Check Out") { 

    $("#ChckDgtDialog").dialog("open"); 
}}); 

(与え、他のロジックがあります唯一の問題に関連しているかを示すにしようと多くの目的の文であれば) しかし、ボタンをクリックすると、オブジェクトはプロパティまたはメソッド 'ダイアログ'をサポートしていません。

私が奇妙なのは、ページの下部にあるスクリプトのダイアログのすべてのプロパティを設定するときに問題がないことです。私はこの部分が働いていると言うことができます。なぜなら、divがページに表示されていないからです。スコープに関するいくつかの問題のように思えますが、ダイアログプロパティが設定されている部分を$(window).load()内に移動しようとしましたが、その理由はjquery UIスクリプトがロードされるべきではないからです私はダイアログを開くことさえできない。

ボタンをクリックした理由についてのアイディアはありませんか?私はjqueryを初めて使っています。マスターページやasp.netの中に何かが混乱している可能性があるのではないでしょうか?

答えて

0

私はあなたがページonload関数内にダイアログ初期化コードを置くと、それが問題を解決すると思います。

+0

私はこれを試しましたが、代わりに初期化時に "オブジェクトがプロパティまたはメソッドのダイアログをサポートしていません"というエラーが表示されます。そのようなjquery UIは何らかの理由でその時点でロードされません。同じ結果を持つ$(window).load()と$(document).ready()の両方を試しました。 – Joe

+0

関連する問題