我希望你帮我解决这个问题,我想从组合框中删除所有选项,除了值为3的选项。我有这个代码但是没有用。
<select id="Select1" name="Select1">
<option selected value="1">Pink</option>
<option value="2">Black</option>
<option value="3">Green</option>
<option value="4">Blue</option>
<option value="5">White</option>
</select>
<input type="button" onclick="myFunction()" value="Remove option">
<script>
function myFunction() {
var select=document.getElementById('Select1');
for (i=0;i<select.length; i++) {
if (select.options[i].value!=document.getElementById('TextBox1')) {
select.remove(i);
}
}
}
</script>
答案 0 :(得分:4)
您可以使用以下方式之一:
$("#Select1 option").not("[value='3']").remove();
$("#Select1 option:not([value='3'])").remove();
$("#Select1 option[value!='3']").remove();
答案 1 :(得分:2)
此属性选择器将执行此操作
$('#Select1 option[value!=3]').remove()
参考:Attribute Not Equal Selector [name!="value"]
的 DEMO 强>
答案 2 :(得分:1)
当您检查文本框中的文字时,您错过了.value
。你应该使用:
document.getElementById('TextBox1').value
而不只是使用:
document.getElementById('TextBox1')
答案 3 :(得分:1)
使用jQuery:
$('select').each(function(){
if($('option',this).attr('value') != '3'){
$('option',this).remove();
}
});