2017-04-13 1 views
0

特定のクラステーブルの特定のクラスの特定の数値列をフィルタリングするスライダをページに追加しようとしています。javascript - スライダフィルタテーブル数値カラム

多くの既存のものを修正して修正しようとしました。example1example2 ...成功なし。

私はZurb-Foundation sliderを使用しています。スライダは現在動作していますが、私のページのものとリンクされていません(まったく役に立たない)。ここにスライダのHTMLがあります。

<div class="large-9 columns"> 
    <div class="slider" data-slider data-initial-start="0.5" data-end="1" data-step="0.05" id="slider-filter"> 
    <span class="slider-handle" data-slider-handle role="slider" tabindex="1" aria-controls="sliderOutput1"></span> 
    <span class="slider-fill" data-slider-fill></span> 
</div> 
</div> 
<div class="small-3 columns"> 
<input type="number" id="slider-number"> 
</div> 

財団ドキュメントおよび上記の例によると、ここに私のJSです:

$(document).ready(function() { 
$(function() { 
    $("#slider-filter").slider({ 
     slide: function (event, ui) { 
      // in this function we can define what happens when a user changes the sliders 
      console.log("Slider is moving"); 
     } 
    }) 
}) 

})

私はスライダーの動きを検出する、この部分ですでに失敗しています...私はまた、.slide()内で使用するために、この行(var elem = new Foundation.Slider(element, options);)のドキュメントに従って試してみました...成功しませんでした。

表の例:

<table id="Table-to-filter"> 
<tr> 
    <td>First Column</td> 
    <td>Second Column</td> 
    <td>Third Column</td> 
</tr> 
<tr class="Prt"> 
    <td>XXXX</td> 
    <td>23</td> 
    <td>XXXX</td> 
</tr> 
<tr class="Chi-to-filter"> 
    <td>XXXX</td> 
    <td>51</td> 
    <td>XXXX</td> 
</tr> 
<tr class="Chi-to-filter"> 
    <td>XXXX</td> 
    <td>77</td> 
    <td>XXXX</td> 
</tr> 
<tr class="Prt"> 
    <td>XXXX</td> 
    <td>215</td> 
    <td>XXXX</td> 
</tr> 
<tr class="Chi-to-filter"> 
    <td>XXXX</td> 
    <td>450</td> 
    <td>XXXX</td> 
</tr> 
    <tr class="Chi-to-filter"> 
    <td>XXXX</td> 
    <td>450</td> 
    <td>XXXX</td> 
</tr> 

どれ詳細なヘルプは、財団のスライダーを使用してこの問題を解決するために感謝以上になります。

ありがとうございます。 Nowres Rafedの応答の後

:多くの試行の後

FILTERING OF BIGDATA TABLE

、ここでは私が行うことができたものです。私は自分のコードについての説明と質問を持っています。 ご覧のとおり、私のテーブルは、この構造で構成されています。このアイコンは、矢印アイコンをクリックすると多くの子行を与える展開可能な親行です。親と子の両方の行の「スコア」列をフィルタリングするためにスライダを使用したいと思います。私の得点は「アコーディオンメニュー」に保存され、単純な<td>ではありません。

私は、のスコアカラムだけをフィルタリングするより良い方法があるのでしょうか? row.cellsのインデックスを使用しましたが、row.cellsの名前(つまり「スコア」)で速度を変更しますか? $(colx.getElementsByClassName("accordion-title")).html();

また、私は2つの異なるループで親子行のフィルタリングを分割しましたが、この部分を改善することは可能でしょうか?

ご協力いただきありがとうございます。

+0

少なくとも、失敗した例を作ることができますか?これは、私たちがあなたのための例を作成するよりもはるかに簡単で簡単です。 – ProgrammerV5

+0

申し訳ありませんが、私はそれについて考えませんでした。 @Nowres Rafedの答えで、それはうまくいくはずです、私はそれを実装しようとしています。 –

答えて

0

あなたは間違った方法でプラグインを初期化していますが、コードにはsliderというjQueryプラグインはありません。ここで

は、あなたのケースのための実施例である:

ライブ
$(function() { 
    var $filter = $('.slider'); 

    $filter.foundation(); 
    $filter.on('moved.zf.slider', function() { 
     var slideValue = $('#sliderOutput1').val(); 

     // Do your filtering here 
     console.log(slideValue); 
    }); 
}); 

https://codepen.io/anon/pen/VbYZgO

は、単にコードをフィルタリングあなたの列を追加し、それが行われています。

編集: は、私はあなたがそれを簡単にすることができると思う:https://codepen.io/anon/pen/Qvjqyo

accordion-titlescore-valueクラスを追加し、あなたは子供と親の行を区別したい場合は、exempleを拡張することができます...

+0

多くのお返事をいただきありがとうございます。私の "より複雑な"表の場合には、あなたの投稿からまだ試しています。その後、私は自分の投稿を編集し、自分のJSコードを改善する方法について意見を述べたいと思います。 –

+0

私の最初の投稿を編集しました。私のコードを見てもらえますか?私は最良のフィルタリング方法を使用しているかどうかはわかりません。ありがとう、@Nowres Rafed。 –

+0

コメントを編集していただき、ありがとうございました。それは私が望むように動作します。 –

関連する問題