2012-03-21 6 views
9

私は初期化されたdatepicker "onSelect"機能にバインドしたいと思います。jQuery - 日付ピッカーの設定が初期化された後に変更する方法

私はウェブ上で解決策を見つけようと努力してきましたが、失敗しました。

どのようにすればいいですか?

+0

'イベント? http://jqueryui.com/demos/datepicker/#event-onSelectそれとも最初にそれに縛られますか? – mrtsherman

+0

再初期化とはどういう意味ですか?私は同じ要素に対してdatepickerメソッドをもう一度起動しようとしましたが、運がうまくいきません。$( '#OfferStartDate')datepicker( onSelect:function(dateText、inst){ console.debug( "Validation") ; } }); ' 「運がない」とは、コンソールに何も表示されないことを意味します。 – kubal5003

+0

あなたのコードに何か他のものがあります。投稿した内容はうまく動作します。 http://jsfiddle.net/6pCMR/。以前のコメントに関しては、既存のdatepickerを修正しようとしていたようで、新しいものを作成していないように思えました - '初期化されたbindにonSelect" function " – mrtsherman

答えて

16

あなたは単にここ

$('#datepicker').datepicker(); 
$('#datepicker').datepicker("option", "onSelect", function(){alert('hi')}); 

フィドルセッターを使用することができますhttp://jsfiddle.net/nhmsZ/

+0

Protip - jQuery UIのフィドルを投稿するときに、私はこのテーマをすべてが見栄えの良いリソースにします。その 'aristo theme demo'のトップヒット - http://jsfiddle.net/6pCMR/ – mrtsherman

+0

何人か.datepicker();あなたは説明することができます – shafi

0

まずはニコラの答えが正しいと私を助けました。私は実際に私の問題を解決していないいくつかの関連記事を探していました。

私はこれを既存の答えに展開するよう書いています。 JavaScriptの実行順序を制御する機能を制限するフレームワーク、例えばZend Frameworkを使用する場合、そのバインドオプションを遅らせて起動する必要があります。私は2つの$(document).ready(function() {ブロック、私は私の見解で開くものを持っているよう

$(document).ready(function() { 
     function imahackfunction() { 
      $('#startdate').datepicker('option', 'onSelect', function() { 
       alert($('#startdate').val()); 
      }); 
     } 
     setTimeout(imahackfunction, 2000); 
    }); 

以上が私のために働いた、他には、日付ピッカーをインスタンス化フレームワークによって「注入さ」。日付ピッカーは、単にaltFieldプロパティによって関連付けられた入力にchangeイベントを発生しない理由を私は不思議何

は、私は上記の解決策は、私の場合、問題を引き起こした...

0

です。 datePickerが既に初期化された後にonSelectを設定すると、datepickerが再初期化されるようです。これは望ましくないかもしれません。

問題が発生している場合は、バックドアを通過する必要があります。あなただけの再初期化と `ONSELECTにバインドすることはできません任意の理由をJQUIが更新されたとき、これは互換性の問題を持っている可能性がありますが、それに対処するために喜んでいる場合、このコードはあなたを助けることができる...

var inst = $.datepicker._getInst($('#startdate').get(0)); 
inst.settings.onSelect = function (dt) { 
    // your code here 
}; 
関連する問題