0

jquery UIタブを使用していて、telerik datepickerを追加しています(スタイルの問題にjquery datepickerを使用したくない)。タブにコントロールが表示されますが、クリックしても開かず、URLが次のように変更されます。http://localhost/#

ajax CalendarExtenderを試しましたが、同じことが起こります。

そのようなエラーは発生しません。

私はjquery1.5.1とjquery-ui-1.8.11.jsを使用しています。

編集 ::

マスターページに私は持っています:

    <link href="Content/jquery-ui-1.8.21.custom.css" rel="stylesheet" type="text/css" />
    <link rel="Shortcut Icon" href="favicon.ico" />
    <script src="Scripts/jquery-1.5.1.min.js" type="text/javascript"></script>
    <script src="Scripts/jquery-ui-1.8.11.js" type="text/javascript"></script>
    <script src="Scripts/jquery.qtip-1.0.0-rc3.min.js" type="text/javascript"></script>
    <script src="Scripts/cufon/cufon-yui.js" type="text/javascript"></script>
    <script src="Scripts/cufon/Lubalin_Graph_700.font.js" type="text/javascript"></script>
    <script src="Scripts/jquery.watermark.min.js" type="text/javascript"></script>
    <script src="Scripts/jquery.validator.js" type="text/javascript"></script>
    <script type="text/javascript" src="scripts/jquery.tablesorter.min.js"></script>
    <script src="Scripts/jquery.colorbox.js" type="text/javascript"></script>

私のタブ構造は:

        <div id="tabs">
                <ul>
                    <li title=""><a href="FAQs.aspx">FAQ</a></li>
                    <li title=""><a href="Profile.aspx">Profile</a></li>
                    <li title=""><a href="Contact.aspx">Contact</a></li>
        </div>

jqueryは次のとおりです。

    $("#tabs").tabs({
        select: function (event, ui) {
            $(ui.panel).empty();
            $(ui.panel).append("preloader.gif' />");
        },
        cache: false,
        ajaxOptions: { cache: false }
    });

プロファイルaspxページで私はこのajaxを持っています:

 <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox><br />
                        <asp:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="TextBox1">
                        </asp:CalendarExtender>

テレリックの場合:

<telerik:RadDatePicker runat="server" ID="date" Width="110px" ></telerik:RadDatePicker>
4

1 に答える 1

0

AJAX でページをロードする場合、すべてのロード イベントがメイン ページで既に発生していることを理解することが重要です。つまり、ロード ハンドラまたはdocument.readyリモート ページにラップされたコードは、ロードされるとすぐに実行され、後続の html が最初にロードされることはありません。

リモート ページのスクリプトが参照先の html よりも前に存在する場合、スクリプトはその html が存在する前に実行されます。

スクリプトの前に html を配置すると、これが解決されます。

または、タブの読み込みイベントを使用して$.getScript電話をかけることもできます

編集: 次のコードは jQueryUI タブ API からのもので、タブが ajax で読み込まれるたびに起動します:

$( "#tabs" ).on( "tabsload", function( event, ui ) {
   var active = $(this).tabs('option','active');
    /* index starts at zero for first tab*/
   if(active==2){
     /* iniitalize datepicker here*/
   }

});
于 2013-01-21T12:41:06.860 に答える