このデータピッカーhttps://github.com/richsilv/Pikaday/を流星のアプリで使用します。js datapickerを流星火災で使用する方法
私の入力フィールドをクリックすると、このデータピッカーが表示されます。それは私がエラーを取得し、私は無限ループを信じて、その後、一度だけ動作します。
Uncaught RangeError: Maximum call stack size exceeded.
とはconsole.logメッセージのロットから:
console.log(this.getMoment().format('YYYY-MM-DD'));
私は何を間違っているとどのようにしていますこのデータピッカーを正しく使用しますか?
HTML
{{#each showDates}}
<li>
<input class="datapicker" type="text" value={{date}} id="data{{_id}}" />
</li>
{{each}}
JS
'click .datapicker': function(e) {
$(document).ready(function() {
var picker = new Pikaday({
field: document.getElementById(e.target.id),
format: 'YYYY-MM-DD',
onSelect: function() {
console.log(this.getMoment().format('YYYY-MM-DD'));
}
});
});
},
編集:たぶん重要な情報:私は、このデータピッカーを見るために、入力フィールドに2回クリックする必要があります。そして、私はこのエラー/無限ループのために私のブラウザプロセスを殺すか、流星を再起動しなければなりません。
field: document.getElementById(e.target.id),
これをすること:これは
にピッカー(またはあなたが初期化する必要が他のもの)を開始します"ヌルのプロパティ 'nodeName'を読み取ることができません。 \t私は正しいIDをターゲットにしています。なぜなら 'console.log(" ID: "+ e.target.id);"ブラウザのコンソールに "ID:dataFL294nSfcJwqbf8fz"というメッセージが表示されるからです。 –
あなたのjsをこれに変更しようとしてください: –
$(document).ready(function(){ 「クリック.datapicker」:function(e){ var picker = new Pikaday({ field:document.getElementById target.id)、 形式: 'YYYY-MM-DD' にonSelect:関数(){。 はconsole.log(this.getMoment()フォーマット( 'YYYY-MM-DD'));} } ); }、 }); –