Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用单选按钮jquery隐藏1个下拉列表中的项目_Jquery - Fatal编程技术网

使用单选按钮jquery隐藏1个下拉列表中的项目

使用单选按钮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个 目前

基本上,我想做的是有一个下拉列表(包含所有选项),当我单击单选按钮时,它只显示下拉列表中的特定选项

例如,我有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个下拉列表中完成它。任何建议都将不胜感激。

您只需为每个选项指定一个唯一的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>