2016-12-29 72 views
6

我需要隱藏所有選項時,屬性的值是> 23JS - 基於價值屬性隱藏選項

<select id="category_ids" class="cat-search-pb" multiple > 
    <option value="20">Condo for Sale</option> 
    <option value="24">&nbsp;&nbsp;- Jomtien</option> 
    <option value="25">&nbsp;&nbsp;- Bang Saray</option> 
    <option value="21">Condo for Rent</option> 
    <option value="22">House for Sale</option> 
    <option value="23">House for Rent</option> 
    <option value="14">Land</option> 
    <option value="15">Commercial</option> 
    <option value="18">New Condo Projects</option> 
    <option value="19">New House Projects</option> 
</select> 

但是這個代碼不工作:

$(document).ready(function() { 
    $(".cat-search-pb option[value>23]").closest('option').hide(); 
}); 

謝謝您想法!

+0

如果我記得沒錯,不是所有的瀏覽器允許您隱藏 – epascarello

+0

你想隱藏的所有選項,如果用戶選擇的選項值= 23的選項? –

+0

[jQuery:選擇屬性大於某個值的所有元素]的可能重複(http://stackoverflow.com/questions/2613648/jquery-selecting-all-elements-where-attribute-is-greater-than-a值) – damienfrancois

回答

4

您可以使用在選項是有value屬性jquery filter()轉換屬性的值數 - 看演示如下:

$(document).ready(function() { 
 
    $(".cat-search-pb option[value]").filter(function() { 
 
    return +$(this).val() > 23; 
 
    }).hide(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="category_ids" class="cat-search-pb" multiple> 
 

 
    <option value="20">Condo for Sale</option> 
 
    <option value="24">&nbsp;&nbsp;- Jomtien</option> 
 
    <option value="25">&nbsp;&nbsp;- Bang Saray</option> 
 
    <option value="21">Condo for Rent</option> 
 
    <option value="22">House for Sale</option> 
 
    <option value="23">House for Rent</option> 
 
    <option value="14">Land</option> 
 
    <option value="15">Commercial</option> 
 
    <option value="18">New Condo Projects</option> 
 
    <option value="19">New House Projects</option> 
 
</select>

4

試試這個,使用.filter()。您必須使用​​或+$(this)

$(function() 
 
{ 
 
    $(".cat-search-pb option").filter(function() 
 
    { 
 
     return +$(this).val() > 23; 
 
    }).hide(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="category_ids" class="cat-search-pb" multiple> 
 
    <option value="20">Condo for Sale</option> 
 
    <option value="24">&nbsp;&nbsp;- Jomtien</option> 
 
    <option value="25">&nbsp;&nbsp;- Bang Saray</option> 
 
    <option value="21">Condo for Rent</option> 
 
    <option value="22">House for Sale</option> 
 
    <option value="23">House for Rent</option> 
 
    <option value="14">Land</option> 
 
    <option value="15">Commercial</option> 
 
    <option value="18">New Condo Projects</option> 
 
    <option value="19">New House Projects</option> 
 
</select>

+1

可能想要將字符串更改爲數字。 Number()或+ $(this).... – epascarello