現在tableに4つのカラムがあり、そのうちの2つ目と3つ目の列のみに検索をする検索ボックスを作成したいと考えています。
方法が分からないので、ご教授をお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
JQueryを使用したサンプルを作成しました。スペース区切りでOr検索になります。
列は、td
のindex
で判断します。index
は、:eq(i)
で取得できます。0から始まるので注意してください。
lang
1$('.sh').on('change keyup',function(){ 2 var strs = $(this).val().split(' '); 3 // findを間に入れることで、各`tr`の列に対して`each`を行える 4 $('.tb tr').find('td:eq(1),td:eq(2)').each(function(){ 5 var self = this; // 次のfunctionで、thisが書き換わる為、一時保存 6 var isHit = false; 7 $.each(strs, function(){ 8 if(this.length<=0){ 9 return true; // continue 10 } 11 isHit = $(self).text().match(this); 12 if(isHit){ 13 return false; // break 14 } 15 }); 16 if(isHit){ 17 $(self).addClass('hit'); 18 } 19 else { 20 $(self).removeClass('hit'); 21 } 22 }); 23})
投稿2015/03/18 01:18
総合スコア131
0
一般的にプログラムの世界では表の事はテーブルと言わずに、「グリッド(grid)」や「スプレッド(spread)」と言う言い方をします。
現状全くやり方の想像がつかないレベルであれば、最初からフィルタ機能のついたGRIDで作成する方が早いでしょうね。
ある程度自由に作れるようになってから自作で作れば良いと思います。
まともなグリッドを作るのは結構大変ですし。
jqueryを使って良ければ「jquery フィルタ grid」等で検索すれば嫌になるほど出てきますので、デザインのカスタマイズ等、自分に合う物を探してみれば良いかと思います。
ソースを見れば勉強にもなると思いますので。
投稿2015/03/17 12:08
総合スコア1614
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。