2

コンソール エラーはありません。動作しません。

if (typeof (data.maintExpiry) === 'undefined') { 
    data.maintExpiry = '01-01-1970' 
}
if (typeof (data.maintExpiry) === 'undefined') { 
    data.maintExpiry = new Date('01-01-1970') 
} //also doesn't work

someColumn = '<span>test</span>'
maintExpiry = '<div class="input-append date" class="datepicker" data-date="12-02-2012" data-date-format="dd-mm-yyyy">'
maintExpiry += '<input style="display: inline;padding-left: 20px;" size="16" type="text" value="' + data.maintExpiry + '">'
maintExpiry += '<span class="add-on"><i class="icon-th"></i></span></div>'
someOtherColumn = '<span>test2</span>'
...
$('#myReport').dataTable().fnAddData([
    someColumn,
    maintExpiry,
    someOtherColumn
]);

次に、document.ready で:

$('#myReport').dataTable({
    "fnDrawCallback": function (oSettings) {
        $('.datepicker').each(function () {
            $(this).datepicker();
        });
    }
});

dataTables の fnDrawCallback 関数に datepicker() を配置することになった理由は、最初のページの要素にのみ適用されるブートストラップ ポップオーバーに以前に問題があったためです。これにより、ページが変更されるたびにページ上のすべてに適用されるようになりました。また、これ以外で datepicker() を試してみましたが、うまくいきませんでした。

ブートストラップの日付ピッカーのドキュメントが id セレクターの使用を示しているため、 each() 関数を実行しています。これらは動的に生成されるため、クラスを介して実行できることを望んでいました。私も単純に $('.datepicker').datepicker() を試しましたが、それもうまくいきませんでした。

繰り返しますが、コンソール エラーなどはありません。IE と Chrome でのクリック時の動作はゼロであるように見えます。さて、入力ボックスに入力できます...

updateクラス定義が2回あることに気付きました。2 つを統合したところ、「Uncaught TypeError: Cannot call method 'split' of undefined - bootstrap-datepicker.js:393 Investigating...」というコンソール エラーが表示されます。

更新 2フィールドに無効な日付を入力しようとしているようです。以下の行を追加しました。日付が返されない場合にデフォルトの日付を設定する方法はありますか?

4

0 に答える 0