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)
});