Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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
Javascript 如何将复选框限制为一次只选中一个复选框?_Javascript_Jquery_Checkbox - Fatal编程技术网

Javascript 如何将复选框限制为一次只选中一个复选框?

Javascript 如何将复选框限制为一次只选中一个复选框?,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我正在尝试使用复选框创建过滤器。我一次只需要选中一个复选框。我该怎么做 场景:页面有一个手表目录。用户希望根据男性或女性对手表进行过滤 这是我的密码: $(“#筛选选项:复选框”)。单击(函数() { $(“.collection wrapper.strip wrapper”).hide(); $(“#筛选选项:复选框:选中”)。每个(函数() { $(“+$(this.val()).fadeIn(); }); if($(“#过滤器选项:复选框”).filter(“:checked”).len

我正在尝试使用复选框创建过滤器。我一次只需要选中一个复选框。我该怎么做

场景:页面有一个手表目录。用户希望根据男性或女性对手表进行过滤

这是我的密码:

$(“#筛选选项:复选框”)。单击(函数()
{
$(“.collection wrapper.strip wrapper”).hide();
$(“#筛选选项:复选框:选中”)。每个(函数()
{
$(“+$(this.val()).fadeIn();
});
if($(“#过滤器选项:复选框”).filter(“:checked”).length<1
{
$(“.collection wrapper.strip wrapper”).fadeIn();
}
});

过滤项
  • 女人
男人

女人

男/女

女人

复选框用于选择多个选项值。你需要的是单选按钮。它们正是为了这个目的而使用的。一次只能选择一个单选按钮。因此,将代码替换为:

<ul id="filter-options">
  <li><input type="radio" name="filter" value="filter_man" data-filter_id="man"> Man</li>
  <li><input type="radio" name="filter" value="filter_woman" data-filter_id="woman"> Woman</li>
</ul>
  • 女人

请参见此处的示例:

您可以使用单选按钮或执行以下操作:

$('input[type=checkbox]').change(function(){
   if ($('input[type=checkbox]:checked').length > 1) {
        this.checked = false;
   }
})

单选按钮就是您要查找的;)

请看以下链接:

HTML:


您可以只使用单选按钮,但若您想使用复选框,解决方案非常简单

当您单击其中一个复选框时,请选中所有复选框并删除“选中”状态,然后只添加“单击时选中”复选框

大概是这样的:

    // On checkbox click
    $("#filter-options input[type=checkbox]").click(function(event) {

        // Uncheck all checkboxes
        $("#filter-options input[type=checkbox]").prop("checked", false);

        // Check that one that you clicked
        $(this).prop("checked", true)
    });

想过单选按钮吗?因为它们正是您想要的功能?链接:
$('#myForm input').on('change', function() {
   alert($('input[name="myRadio"]:checked', '#myForm').val()); 
});
    // On checkbox click
    $("#filter-options input[type=checkbox]").click(function(event) {

        // Uncheck all checkboxes
        $("#filter-options input[type=checkbox]").prop("checked", false);

        // Check that one that you clicked
        $(this).prop("checked", true)
    });