0

asp.netページに1つのajaxタブコンテナがあります。Ajaxタブコンテナにあるテキストボックスをクリックすると、jqueryを使用してカレンダーをポップアップします。

テキストボックスが ajax tabcontainer の外にある場合、正常に動作します。しかし、このテキスト ボックスを ajax タブ コンテナーに配置すると、datepicket の Jquery が機能せず、カレンダーがポップアップしません。この問題を解決するにはどうすればよいですか?

これは、日付ピッカーをテキストボックスにバインドするために使用しているコードです。

  $(function () {
            var d = new Date();
            var curr_year = d.getFullYear();
            $('#txtDob').live('load', function () {
                $("#txtDob").datepicker(
       { yearRange: '1900:' + curr_year, changeMonth: true, changeYear: true, maxDate: '0' });

            });
            $('#txtDOD').live('load', function () {
                $("#txtDOD").datepicker(
       { yearRange: '1900:' + curr_year, changeMonth: true, changeYear: true, maxDate: '0' });
            });
        });
4

2 に答える 2

0

動的コントロールを使用しているときにできることの 1 つは、txtDob コントロールの ClientID モードを AutoID に設定することです。

 <asp:TextBox ID="txtDob" runat="server" CssClass="hasDatePicker" ClientIDMode="AutoID"/>

ClientID 値は、各親名前付けコンテナーの ID 値をコントロールの ID 値と連結することによって生成されます。コントロールの複数のインスタンスがレンダリングされるデータ バインディングのシナリオでは、増分値がコントロールの ID 値の前に挿入されます。各セグメントはアンダースコア文字 (_) で区切られます

于 2016-01-07T08:33:45.950 に答える
0

HTML を検査し、ClientID を確認します。

JavaScript で常にクライアント ID を使用することをお勧めします。

このような:

 $('#<%= txtDob.ClientID %>')
于 2013-03-11T10:23:24.997 に答える