この記事の例では、jqueryUI での datepicker の使用法を共有し、asp.net の UpdatePanel と組み合わせて使用した場合の失敗の問題を解決します。
1. jqueryUI の datepicker の使用方法
--> jqueryUI 公式 Web サイト あなたのシステムに合ったスタイルをダウンロードしてください テーマ 、jqueryUI テーマ: ダウンロード アドレス (http://jqueryui.com/themeroller/#themeGallery)
-->ダウンロードされたファイル
jquery-ui-1.10.3.custom フォルダー; 異なるテーマの違いは、異なる CSS を参照することです
ダウンロード済みデフォルトのスタイルは次のとおりです:
その他のスタイル (ダウンロードしたスタイルなど):
jqueryUI は css フォルダーを除いて異なります。他のファイルは同じです。
--> ページで datePicker を使用する手順
(1) jquery-ui-1.10.3.custom .min.css スタイル ファイルを導入します
(2) jquery-1.9.1.js および jquery-ui-1.10.3.custom.min.js スクリプト ファイルを導入します。 注: まず、 jquery ファイルを導入します
( 3) 必要なのは、開始時刻と終了時刻を選択することです。
コードは次のとおりです:
<script type="text/javascript"> $(function () { $("#txtStartDate").datepicker({ dateFormat: "yy-mm-dd", changeMonth: true, onClose: function (selectedDate) { $("#txtEndDate").datepicker("option", "minDate", selectedDate); } }); $("#txtEndDate").datepicker({ dateFormat: "yy-mm-dd", changeMonth: true, onClose: function (selectedDate) { $("#txtStartDate").datepicker("option", "maxDate", selectedDate); } }); $("#ui-datepicker-p").css("font-size", "12px"); //改变大小 }); </script> </head> <body> <label for="from">开始时间:</label> <input type="text" id="txtStartDate" name="from"/> <label for="to">结束时间:</label> <input type="text" id="txtEndDate" name="to"/> </body>
注:
(1)$("#ui-datepicker-p").css("font-size) ", " 12px"); 日付コントロールのサイズを変更するために使用されます
(2) dateFormat: "yy-mm-dd"、日付形式を変更します
(3) 日付コントロールは英語版、変更するスクリプトを追加します。 中国語
/* Chinese initialisation for the jQuery UI date picker plugin. */ /* Written by Cloudream (cloudream@gmail.com). */ jQuery(function ($) { $.datepicker.regional['zh-CN'] = { closeText: '关闭', prevText: '<上月', nextText: '下月>', currentText: '今天', monthNames: ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'], monthNamesShort: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十', '十一', '十二'], dayNames: ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'], dayNamesShort: ['周日', '周一', '周二', '周三', '周四', '周五', '周六'], dayNamesMin: ['日', '一', '二', '三', '四', '五', '六'], weekHeader: '周', dateFormat: 'yy-mm-dd', firstDay: 1, isRTL: false, showMonthAfterYear: true, yearSuffix: '年' }; $.datepicker.setDefaults($.datepicker.regional['zh-CN']); });
(4) 一部の日付ピッカーの属性とメソッドの詳細な使用方法については、非常に詳細な API ドキュメントを参照してください。
--> ; 別のトリックを共有します
$("[id$=txtASN]") の使用
定義されたテキストボックス コントロール ID asp.net は txtASN ですが、$("#txtASN") がテキストボックスの dom 要素を取得できないのは、ソースコードを確認したところ、コントロールが配置されている場合にコントロール ID が変更されていることが判明したためです。パネルまたはマスターの場合、生成される HTML コントロールの入力 ID は pnlBaseInfo_txtASN
のように変更されます。Solution: $("[id$=txtASN]")、意味は、ID が txtASN<🎜 で終わる dom 要素を取得することです。 >
-- >完全な効果
2. 併用時の失敗問題を解決します。 asp.net の UpdatePanel を使用
問題: 実行後、[クエリ] をクリックすると、ページが部分的に更新され、カレンダー セレクターが表示されないことがわかります。 asp.net の UpdatePanel で非同期ポストバック後に DatePicker が失敗する 問題
ページが最初に読み込まれるとき、DatePicker コントロールは正常に表示できますが、クエリをクリックした後、非同期ポストバックが原因で DatePicker が失敗します。
--> UpdatePanel の分析 UpdatePanel は主に、ページ全体のポストバックを回避するためにアプリケーションの部分更新に使用されます。
UpdatePanel の部分更新の核心は、MicrosoftAjaxWebForm.js ファイルにあります。その部分更新プロセスは、サーバー コードの実行後、UpdatePanel 内の HTML を非同期的に再送信します。レンダリングされました。
--> jQuery の解析
UpdatePanel が部分的に更新された後、その中のテキスト ボックス要素が書き換えられるため、このときDOM ツリー全体が再読み込みされないため、jQuery の Ready イベントがトリガーされず、テキスト ボックス要素は元の特殊効果を失います。 -->解決策
DatePicker を初期化するコードを Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(function(evt, args) {});
$(function () { Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(function (evt, args) { $("[id$=txtStartDate]").datepicker({ dateFormat: "yy-mm-dd", changeMonth: true, onClose: function (selectedDate) { $("[id$=txtEndDate]").datepicker("option", "minDate", selectedDate); } }); $("[id$=txtEndDate]").datepicker({ dateFormat: "yy-mm-dd", changeMonth: true, onClose: function (selectedDate) { $("[id$=txtStartDate]").datepicker("option", "maxDate", selectedDate); } }); $("#ui-datepicker-p").css("font-size", "14px"); //改变大小 }); });
jquery UI Datepicker 時間コントロールの使用法 (1)
以上がこの記事の全内容です、皆様のお役に立てれば幸いです学ぶ。