2017-02-10 75 views
0

我寫了一個過濾器,現在我有一個隱藏的數字值 這是過濾器的HTML代碼中的問題:隱藏數字值

<div class="height" th:classappend="${model.height}">some information</div> 

<div class="searchColor" id="filterHeight"> 
    <div class="searchTextColor"> Height:</div> 
    <input type="checkbox" id="27" value="2.7-2.9m" />2,7-2,9m<br/> 
    <input type="checkbox" id="29" value="2.9-3.0m"/>2,9-3,0m<br/> 
    <input type="checkbox" id="30" value="3.0-3.15m"/>3,0-3,15m<br/> 
    <input type="checkbox" id="315" value="3.15m"/>>3,15m&nbsp; 
</div> 

我寫這個過濾器,該過濾器的工作原理,如果class是字符串,但我不明白爲什麼它不工作,如果數字+字符串?

$("div[class='searchColor'] input").change(function() { 
    if($("#filterHeight input:checked").length > 0){ 
     $('.height').show(); 

    $("#filterHeight input:not(:checked)").each(function() { 
     var selectedStr = $(this).val(); 
     $('.height' + selectedStr).hide(); 
    }); 

我需要if becouse我用幾個條件

回答

0

我相信你的問題是,在你的複選框,輸入的數值有時間「」,這將是jQuery的爲一類deliminator解釋。

因此,對於你行:

$('.height' + selectedStr).hide(); 

會獲得類似執行:

$('.height2.7-2.9m').hide(); 

但jQuery的看着這串和週期相隔打破它,所以不是尋找那些元素類'.height2.7-2.9m'它尋找具有所有類'.height2','.7-2'和'.9m'的元素。

嘗試刪除從該複選框值名稱的點(從類你想在HTML匹配)

+0

謝謝你的答案。我嘗試使用沒有點和逗號的html'value',但不幸的是它不工作。我從DB這個高度收回,我可以使用','或'。' ,但沒有點或逗號的人無法理解身高 – Viking