2016-12-29 69 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