2

重複の可能性:
Datepicker 関数を動的に削除する

私の Web アプリケーションでは、datepicker を使用しています。詳細の作成と編集に同じページを使用しています。ページの編集中は、日付を編集できないようにする必要があります。次のコードを使用して、日付ピッカーを無効にしています。

$( "#datepicker" ).datepicker("disable");

ただし、上記のコードは入力フィールドも無効にします (入力フィールドが編集モードで無効になっている場合、データは PHP にポストされません)。入力フィールドを無効にせずに日付ピッカーを無効にし、「ui-datepicker-trigger」アイコンを表示したい。誰でも私を助けることができますか?以下はJSFIDDLEへのリンクです

http://jsfiddle.net/Xppj6/1/

4

2 に答える 2

3

試す、

$( "#datepicker" ).datepicker( "destroy" );

あなたのコメントに応えて:アイコンを保持したい場合は、手動で行います。つまり、DOMツリーからアイコンをコピーし、datepickerを破棄して(これによりDOMからアイコンが削除されます)、DOMに再挿入します。最高のパフォーマンスではないかもしれませんが、これを毎秒何千回も実行しない限り、人間は気付かないはずです:)

基本的に私の考えは、そのようなことをすることです:

   $img = $('#datepicker').parent().find('img'); //fetch datepicker icon from DOM
   $( "#datepicker" ).datepicker("destroy"); //destroy datepicker
   $('#datepicker').parent().append($img); //reappend icon into its original place

js フィドル: http://jsfiddle.net/Xppj6/7/ および「無効」ボタンと「有効」ボタンの両方を備えたフィドル: http://jsfiddle.net/Xppj6/14/

注:この操作を元に戻す必要がある場合は、datepicker を完全に再作成する必要があります。また、新しい日付ピッカーを作成する前に、手動で追加されたアイコンを破棄する必要があります (新しい日付ピッカーは新しいアイコンを作成するため)

参照: http://api.jqueryui.com/datepicker/#method-destroy

于 2012-12-31T11:07:33.633 に答える
1

入力フィールドを無効にせずに日付ピッカーを無効にする方法はわかりませんが、できることの 1 つは、データを psoting する前に入力フィールドの値をコピーしてサーバーで取得できる隠し変数を作成することです。

于 2012-12-31T11:09:09.923 に答える