我希望能够隐藏 html“select”中的某些选项,这些选项的值大于特定变量:
这是我的 html 中的一个简单的“选择”,其中所有选项最初都可用:
<select class="form-control" id="results_per_page">
<option value="4">4</option>
<option value="8">8</option>
<option value="12">12</option>
<option value="16">16</option>
<option value="20">20</option>
<option value="28">28</option>
<option value="40">40</option>
<option value="80">80</option>
<option value="120">120</option>
</select>
现在,我的脚本如下所示:
var itemsFound = "22"; //that's an example -can be any number
// I want to hide the options that are greater than "itemsFound"
$('#results_per_page').find('option[value > "'+itemsFound+'"]').hide();
上面的行返回“未捕获错误:语法错误,无法识别的表达式:选项[值>“22”]
当我使用“等于”时,它起作用了:
$('#results_per_page').find('option[value = "40"]').hide(); //the option with value "40" is indeed hidden
有什么想法可以实现吗?
最佳答案
您可以遍历每个项目并检查值:
var itemsFound = "22"; //that's an example -can be any number
itemsFound = parseInt(itemsFound, 10);
//iterate through each option
$('#results_per_page option').each(function() {
//better use parseInt to avoid unexpected bahavour
currentItem = parseInt($(this).attr("value"), 10);
//your condition
if (currentItem > itemsFound) {
$(this).hide();
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select class="form-control" id="results_per_page">
<option value="4">4</option>
<option value="8">8</option>
<option value="12">12</option>
<option value="16">16</option>
<option value="20">20</option>
<option value="28">28</option>
<option value="40">40</option>
<option value="80">80</option>
<option value="120">120</option>
</select>
关于javascript - Jquery html "select"隐藏值大于指定的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33922550/