質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

Q&A

解決済

1回答

1387閲覧

jqueryプラグイン「stupidtable」のDATE型に関して

koshiDra

総合スコア42

jQueryプラグイン

jQueryの拡張機能。 様々な種類があり、その数は膨大です。公開済みのプラグインの他にも、自作することもできます。 jQueryで利用できるようにしておくだけで、導入およびカスタマイズが比較的容易に行なえます。

0グッド

0クリップ

投稿2016/07/26 12:46

お世話になります。
有識者の方々のお力を拝借したく質問をさせていただきます。

内容ですが、首記のにもありますとおり
stupidtableのdate型でスクリプトエラーが発生し困っています。

thタグに「data-sort="date"」を設定し、
そのタグをクリックするとエラーが発生します。

「int」「string」は問題なく動きます。
他の個人サイトではdate型のサンプルページもありますが
私と同様のことしかしていないように見えます。

何か別の設定が必要なのでしょうか。

ご解答宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

まず、data-sort="date" を使えるとは記載されていないので、使えないと思います。

【GitHub - joequery/Stupid-Table-Plugin: A stupidly small and simple jQuery table sorter plugin】
https://github.com/joequery/Stupid-Table-Plugin#predefined-data-types

・int
・float
・string (case-sensitive)
・string-ins (case-insensitive)


日付の場合はサンプルにも書かれているように data-sort-value にタイムスタンプを入れることで実装出来そうに思います。

HTML

1<td data-sort-value="672537600">April 25, 1991</td> 2```ここに書かれた「672537600」はUnixtimeで「1991-04-25」をあらわしています。(`data-sort="int"` でソートしています) 3多分、「20160727」とかでもいいと思います。「201607270042」(2016年07月27日00時42分)とか。

投稿2016/07/26 15:43

kei344

総合スコア69400

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

koshiDra

2016/07/27 12:03

アドバイスありがとうございます。 同僚が下記の手法で解決してくれました。 ------------------------------------------------------------------------------------- var date_from_string = function(str){ var dates = str.split('/'); return new Date(parseInt(dates[0]), parseInt(dates[1])-1, parseInt(dates[2])); } var moveBlanks = function(a, b) { if ( a < b ){ if (a == "") return 1; else return -1; } if ( a > b ){ if (b == "") return -1; else return 1; } return 0; }; var moveBlanksDesc = function(a, b) { if ( a < b ) return 1; if ( a > b ) return -1; return 0; }; var table = $("table").stupidtable({ "date":function(a,b){ aDate = date_from_string(a); bDate = date_from_string(b); return aDate - bDate; }, "moveBlanks": moveBlanks, "moveBlanksDesc": moveBlanksDesc, }); ------------------------------------------------------------------------------------- しかしご教授いただいた手法のほうがスマートに実装できそうですね。 明日試してみたいと思います。 本当にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問