2009-10-18 15 views
7

ありがとう、ありがたいことに、有益な回答が優先されます。 ページが読み込まれたときに日付入力フィールドがあり、動的に生成される束があります。新しいインスタンスが生成されるたびにそのクラスの.datepicker()を呼び出すのではなく、.liveを使用していますが、動作していないようです。どんな考え?Jquery .liveは.datepickerでは動作しません。

$("input[name=myfav]").live("click", function(){ 
    $(this).datepicker({ 
     /* some options here */ 
    }); 
}); 

私が言及する必要がありますが、それは例えば、オートコンプリートと完全に正常に動作します。ここで

$("input[name=mytwo]").live("click", function(){ 
    $(this).autocomplete("somefile.php"); 
}); 

答えて

26

はjQueryので.live-イベントを使用して日付ピッカーについての記事です:

http://www.vancelucas.com/blog/jquery-ui-datepicker-with-ajax-and-livequery/

問題は、日付ピッカーがデフォルトでフォーカス()イベントに結合することによって動作することで、 jQuery 1.3.2では、 'focus'イベントは 'live'イベント関数では監視できません。ここで

は、サイトからの回避策です::

<script type="text/javascript"> 
$(function(){ 
    $('input.calendarSelectDate').live('click', function() { 
     $(this).datepicker({showOn:'focus'}).focus(); 
    }); 
}); 
</script> 

EDIT:この回避策はもはや今(生のためのフォーカスとブラーのイベントをサポートしています1.4.1+ jQueryのように必要とされます) 。 (おかげで@Chris S jQueryの1.4.1+今フォーカスをサポートしており、ライブのイベントをぼかす()、その回避策は、クールながら、不要になったことは注目に値する

+0

返信いただきありがとうございます。私はそれが他のプラグインがうまく動作して以来、プラグイン関連であることを知っていました。これはそれを明確にします。 – Chris

+2

+1あなたは私に多くの時間を節約しました。 –

+0

同じ問題があります。この作業を行うもう1つの要素は、私たちにとっては、各日付ピッカーの入力に固有のIDが付いていることを確認することでした。それ以外の場合、少なくともGoogle Chromeでは、入力をクリックしてdatepickerを取得できますが、実際にはそのIDを持つ最初の日付の日付が変更されます。 (もちろん、意味的にはIDは常にユニークでなければなりませんが、それはバグでした) –

4

- のorignalのポスターのバージョンが正常に動作しません!

+1

それは私のためにかなりの仕事をしませんでしたが、$( "日付 ")生きる(" フォーカス"、機能(){ \t \t $(この).datepicker({ \t \t \t DATEFORMAT:「DD/MM/yy ' \t \t}) \t});した – brad

7

これは私が使い終わったものです。これは、新しいjQueryの

$.datepicker.setDefaults({ dateFormat: 'yy-mm-dd', ... }); 
$('input.date').live('focus', function() { 
    $(this).datepicker().datepicker('show'); 
    true; 
}); 
0

アップデートでlivefocusを利用しています:jQueryの1.7の時点では、.live()メソッドは推奨されません。 1.7、.on()を使用してイベントハンドラをアタッチします。リファレンス:http://api.jquery.com/live/

関連する問題