如何使用 jquery 隐藏下拉列表中的选项?
How to hide an option in a dropdown using jquery?
我们正在通过 list.The 在操作 class 中的列表中添加值来填充下拉列表中的选项。
当 option 等于特定值时,我们想隐藏它。
代码如下:
if (stuval.substring(0, 7) == "<option") {
$('#stuclass option:not(:first)').remove();
$('#stuclass').find('option').end().append($(stuval));
$("#stuclass option[value='not apply']").css("display", "none"); // Not working
}
如何在值为 'Not apply' 时隐藏该选项?尝试使用上述代码并使用 index.But 它没有 working.Kindly 帮助。
可能是一个空格,lower/uppercase 在一个值中阻止它从 selection .. 一些方式
1- 使用 *
意味着包含 [value*='not apply']
这样你需要注意小写和大写并使用确切的值.. 如果它 Not Apply
你'必须使用 [value*='Not Apply']
#stuclass option[value*="not apply"]{
display : none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="stuclass">
<option value="apply">Apply</option>
<option value= "not apply">Not Apply</option>
</select>
2- 将 .filter()
与 toLowerCase()
和 .trim()
一起使用 .. 我认为这种方式比第一种方式更有效
$('#stuclass option').filter(function(){
return $(this).val().toLowerCase().trim() == 'not apply'
}).hide(0);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="stuclass">
<option value="apply">Apply</option>
<option value= "not apply">Not Apply</option>
</select>
旁注:
.end()
这里$('#stuclass').find('option').end().append($(stuval));
会return到$('#stuclass')
所以可以直接用$('#stuclass').append($(stuval))
另外 if (stuval.substring(0, 7) == "<option")
最好是 if (stuval.trim().substring(0, 7) == "<option")
以避免任何 left/right 空格或者你可以使用 if(stuval.indexOf('<option') > -1)
对于select2
$(document).ready(function(){
$('select').select2();
});
.select2-results [data-select2-id*="not apply"]{
display : none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" integrity="sha512-nMNlpuaDPrqlEls3IX/Q56H36qvBASwb3ipuo3MxeWbsQB1881ox0cRv7UPTgBlriqoynt35KjEwgGUeUXIPnw==" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js" integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A==" crossorigin="anonymous"></script>
<select id="stuclass">
<option value="apply">Apply</option>
<option value= "not apply">Not Apply</option>
</select>
要隐藏某些 select2 的选项,使用 css 无法完成,您可以使用 javascript 在附加 select2到你想要的select
$(document).ready(function(){
$('#stuclass , #stuclass3').find('[value*="not apply"]').remove();
$('select').select2();
});
.select2{
min-width : 200px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" integrity="sha512-nMNlpuaDPrqlEls3IX/Q56H36qvBASwb3ipuo3MxeWbsQB1881ox0cRv7UPTgBlriqoynt35KjEwgGUeUXIPnw==" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js" integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A==" crossorigin="anonymous"></script>
<select id="stuclass">
<option value="apply">Apply</option>
<option value= "not apply">Not Apply</option>
</select>
<select id="stuclass2">
<option value="apply">Apply 2</option>
<option value= "not apply">Not Apply 2</option>
</select>
<select id="stuclass3">
<option value="apply">Apply 3</option>
<option value= "not apply">Not Apply 3</option>
</select>
<select id="stuclass4">
<option value="apply">Apply 4</option>
<option value= "not apply">Not Apply 4</option>
</select>
我们正在通过 list.The 在操作 class 中的列表中添加值来填充下拉列表中的选项。 当 option 等于特定值时,我们想隐藏它。
代码如下:
if (stuval.substring(0, 7) == "<option") {
$('#stuclass option:not(:first)').remove();
$('#stuclass').find('option').end().append($(stuval));
$("#stuclass option[value='not apply']").css("display", "none"); // Not working
}
如何在值为 'Not apply' 时隐藏该选项?尝试使用上述代码并使用 index.But 它没有 working.Kindly 帮助。
可能是一个空格,lower/uppercase 在一个值中阻止它从 selection .. 一些方式
1- 使用 *
意味着包含 [value*='not apply']
这样你需要注意小写和大写并使用确切的值.. 如果它 Not Apply
你'必须使用 [value*='Not Apply']
#stuclass option[value*="not apply"]{
display : none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="stuclass">
<option value="apply">Apply</option>
<option value= "not apply">Not Apply</option>
</select>
2- 将 .filter()
与 toLowerCase()
和 .trim()
一起使用 .. 我认为这种方式比第一种方式更有效
$('#stuclass option').filter(function(){
return $(this).val().toLowerCase().trim() == 'not apply'
}).hide(0);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="stuclass">
<option value="apply">Apply</option>
<option value= "not apply">Not Apply</option>
</select>
旁注:
.end()
这里$('#stuclass').find('option').end().append($(stuval));
会return到$('#stuclass')
所以可以直接用$('#stuclass').append($(stuval))
另外
if (stuval.substring(0, 7) == "<option")
最好是if (stuval.trim().substring(0, 7) == "<option")
以避免任何 left/right 空格或者你可以使用if(stuval.indexOf('<option') > -1)
对于select2
$(document).ready(function(){
$('select').select2();
});
.select2-results [data-select2-id*="not apply"]{
display : none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" integrity="sha512-nMNlpuaDPrqlEls3IX/Q56H36qvBASwb3ipuo3MxeWbsQB1881ox0cRv7UPTgBlriqoynt35KjEwgGUeUXIPnw==" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js" integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A==" crossorigin="anonymous"></script>
<select id="stuclass">
<option value="apply">Apply</option>
<option value= "not apply">Not Apply</option>
</select>
要隐藏某些 select2 的选项,使用 css 无法完成,您可以使用 javascript 在附加 select2到你想要的select
$(document).ready(function(){
$('#stuclass , #stuclass3').find('[value*="not apply"]').remove();
$('select').select2();
});
.select2{
min-width : 200px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/css/select2.min.css" integrity="sha512-nMNlpuaDPrqlEls3IX/Q56H36qvBASwb3ipuo3MxeWbsQB1881ox0cRv7UPTgBlriqoynt35KjEwgGUeUXIPnw==" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js" integrity="sha512-2ImtlRlf2VVmiGZsjm9bEyhjGW4dU7B6TNwh/hx/iSByxNENtj3WVE6o/9Lj4TJeVXPi4bnOIMXFIJJAeufa0A==" crossorigin="anonymous"></script>
<select id="stuclass">
<option value="apply">Apply</option>
<option value= "not apply">Not Apply</option>
</select>
<select id="stuclass2">
<option value="apply">Apply 2</option>
<option value= "not apply">Not Apply 2</option>
</select>
<select id="stuclass3">
<option value="apply">Apply 3</option>
<option value= "not apply">Not Apply 3</option>
</select>
<select id="stuclass4">
<option value="apply">Apply 4</option>
<option value= "not apply">Not Apply 4</option>
</select>