使用单选按钮jquery隐藏1个下拉列表中的项目
基本上,我想做的是有一个下拉列表(包含所有选项),当我单击单选按钮时,它只显示下拉列表中的特定选项 例如,我有2个单选按钮和6个选项: radio-button1, radio-button2 option1, option2, option3, option4, option5, option6, 收音机按钮1,收音机按钮2 选择1, 选择2, 选择3, 选择4, 选择5, 选择6, 如果我按使用单选按钮jquery隐藏1个下拉列表中的项目,jquery,Jquery,基本上,我想做的是有一个下拉列表(包含所有选项),当我单击单选按钮时,它只显示下拉列表中的特定选项 例如,我有2个单选按钮和6个选项: radio-button1, radio-button2 option1, option2, option3, option4, option5, option6, 收音机按钮1,收音机按钮2 选择1, 选择2, 选择3, 选择4, 选择5, 选择6, 如果我按单选按钮1,它将在下拉列表中仅显示选项1、选项2、选项3。如果我按单选按钮2,它将显示其他3个 目前
单选按钮1
,它将在下拉列表中仅显示选项1、选项2、选项3。如果我按单选按钮2
,它将显示其他3个
目前,我只使用显示/隐藏功能和两个单独的下拉列表来完成此操作。。但我想知道如何在1个下拉列表中完成它。任何建议都将不胜感激。您只需为每个选项指定一个唯一的ID,并根据您选择单选按钮时要执行的操作使用“显示/隐藏”。所有选项都可以在同一个列表中,您可以使用其ID显示/隐藏列表元素。您可以检查此JSFIDLE: HTML 注意事项:
- 在执行此代码之前,已加载jQuery
单选按钮的
的大小写应与值
选项的选择
匹配值
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
function dropHider(type) {
$("select#drop").find("option").each(function() {
if ($(this).attr("rel") == type) {
$(this).removeAttr("disabled");
} else {
$(this).attr("disabled","disabled");
}
});
}
</script>
</head>
<body>
<input type="radio" name="type" value="Food" onClick="dropHider(this.value)"> Food<br />
<input type="radio" name="type" value="Drink" onClick="dropHider(this.value)"> Drink<br />
<select id="drop">
<option rel="Food" value="Pizza" id="1">Pizza</option>
<option rel="Food" value="Burger" id="2">Burger</option>
<option rel="Food" value="Fish" id="3">Fish</option>
<option rel="Drink" value="Coke" id="4">Coke</option>
<option rel="Drink" value="Lemonade" id="5">Lemonade</option>
<option rel="Drink" value="Fanta" id="6">Fanta</option>
</select>
</body>
</html>
函数dropHider(类型){
$(“select#drop”).find(“option”).each(function(){
if($(this).attr(“rel”)==类型){
$(此).removeAttr(“禁用”);
}否则{
$(此).attr(“已禁用”、“已禁用”);
}
});
}
食物
饮料
披萨
汉堡
鱼
焦炭
柠檬水
芬达
这应该对你有用;希望对您有所帮助欢迎使用SO。请完整阅读本节。它将帮助你理解如何提问,如何接受答案,如何投票支持问题/答案。非常感谢!这正是我想要的,而且工作得很完美。
var options = $("#DropDownList2").html();
$('#DropDownList2 :not([value^="App"])').remove();
$('input:radio').change(function(e) {
var text = $(this).val();
$("#DropDownList2").html(options);
$('#DropDownList2 :not([value^="' + text.substr(0, 3) + '"])').remove();
});
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
function dropHider(type) {
$("select#drop").find("option").each(function() {
if ($(this).attr("rel") == type) {
$(this).removeAttr("disabled");
} else {
$(this).attr("disabled","disabled");
}
});
}
</script>
</head>
<body>
<input type="radio" name="type" value="Food" onClick="dropHider(this.value)"> Food<br />
<input type="radio" name="type" value="Drink" onClick="dropHider(this.value)"> Drink<br />
<select id="drop">
<option rel="Food" value="Pizza" id="1">Pizza</option>
<option rel="Food" value="Burger" id="2">Burger</option>
<option rel="Food" value="Fish" id="3">Fish</option>
<option rel="Drink" value="Coke" id="4">Coke</option>
<option rel="Drink" value="Lemonade" id="5">Lemonade</option>
<option rel="Drink" value="Fanta" id="6">Fanta</option>
</select>
</body>
</html>