2014-10-28 59 views
0

我試圖只顯示滿足條件的行,但我似乎隱藏了一切與我目前的解決方案。有沒有人知道這裏可能會出現什麼問題,以及如何解決問題?按JQuery的價格顯示錶格

var rangeOne = "col2.alpha"; 
 

 
$("button.priceRangeOne").click(function(){ 
 
    if ($(rangeOne < 500)) { 
 
     $("tr").css("display","none"); 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
 
<button class="priceRangeOne">$0-$499</button> 
 

 
<table> 
 
    <tr class="row1 tv"> 
 
     <td class="col1 alpha">Samsung</td> 
 
     <td class="col2 alpha">$499</td> 
 
    </tr> 
 
    <tr class="row2 tv"> 
 
     <td class="col1 alpha">Vizio</td> 
 
     <td class="col2 alpha">$500</td> 
 
    </tr> 
 
</table>

+1

'$(爲RangeOne <500)'是很奇怪的東西。 – Regent 2014-10-28 12:19:45

+0

什麼是rangeOne? – 2014-10-28 12:21:35

+0

@NishanSenevirathna有'var rangeOne =「alpha」;'這個變量的用法上面有三行。 – Regent 2014-10-28 12:23:11

回答

2

試試這個:你可以找到所有td帶class = 「阿爾法」,然後重複他們在裏面比較量。

var rangeOne = "alpha"; 
$("button.priceRangeOne").click(function(){ 
    //find all alpha tds 
    $("."+rangeOne).each(function(){ 
     // remove $ sign 
     var amount = $(this).html().replace('$',''); 
     //check if it is amount and compare it 
     if(!isNaN(amount) && parseInt(amount) < 500) 
     $(this).closest('tr').hide(); 
    }); 

}); 

JSFiddle DEMO

+0

@Regent,是的,你關於使用'var rangeOne =「.alpha」'的建議是正確的,但我保留它,因爲它可能是OP有一些其他用法。而對於非金額td,我用'isNaN()'條件更新了答案。感謝您的建議,謝謝:) – 2014-10-28 12:26:39

+1

不客氣:)嗯,是的,它可能是它在其他地方使用,即使我懷疑它不會。但它是OP業務+1。 – Regent 2014-10-28 12:31:29