当另一个被选中时如何取消选中复选框?

时间:2019-11-20 11:33:40

标签: php html css mysql sql

我有点想进入一般的编程领域,并且想知道如何取消/检查更新数组-

就像某人选中第二个复选框一样,应取消选中第一个选项并更新搜索(使用新数据)-我只是一个初学者,有点迷失了,所以不胜感激任何形式的帮助

<form action="index.php" id="form1" name="form1" method="get">
    <?php $i = 0; foreach ($row_page_nav_kategorie as $row_page_nav_kategorie) { ?>
        <label class="checkbox-container">
            <input <?php if (strpos($url,$row_page_nav_kategorie['typ']) == true) {echo 'checked="checked"';}?> 
                type="checkbox" 
                class="checkmark" 
                name="hotelKategorie[]" 
                id="ckb5"
                value="<?php echo $row_page_nav_kategorie['typ']; ?>"
                onclick="kategorie(<?php echo $i ?>);" 
                onchange="submit()"/>
            <?php echo $row_page_nav_kategorie['typ']; $i++;?>
        </label>
    <?php } ?>
</form>

4 个答案:

答案 0 :(得分:6)

您应该使用单选按钮,但是如果您想覆盖下面的代码复选框功能,请注意,我在输入中添加了一个通用类:

function checkboxClick(obj) {
    var cbs = document.getElementsByClassName("checkkbox-option");
    for (var i = 0; i < cbs.length; i++) {
        cbs[i].checked = false;
    }
    obj.checked = true;
}

Demo

答案 1 :(得分:1)

首先欢迎社区!

对于您的问题,有多种处理方法,其中一种如下:

在HTML中,有一个名为radio的属性,您可以使用type='radio'将其添加到输入中。在一组单选按钮中,任何时候都只能检查一个。然后,如果您想立即提交表单,可以使用onChange='this.form.submit()'之类的东西。更改值(例如,按下其他单选按钮)后,这将提交您的表单。

要注意的是,据我所知,属性onChange区分大小写。您使用onchange="submit()朝着正确的方向前进,但是您的代码不知道要提交什么。 this.form.submit()将提交元素所在的表单。

答案 2 :(得分:0)

单击单选按钮或使用页面上的JavaScript动态取消选中其他复选框。

如果您想使用新的搜索结果动态更新页面内容,则还应该查看AJAX,这基本上意味着您将通过JavaScript代码调用PHP函数,并且这些函数将返回JSON数组,您可以利用它们来修改页面的DOM。

答案 3 :(得分:0)

尝试这个

HTML:

<label><input type="checkbox" name="check1" class="checkbox" /> CheckBox1</label>
<label><input type="checkbox" name="check2" class="checkbox" /> CheckBox2</label>
<label><input type="checkbox" name="check3" class="checkbox" /> CheckBox3</label>
<label><input type="checkbox" name="check4" class="checkbox" /> CheckBox4</label>

jQuery:

$(".checkbox").change(function() {
    $(".checkbox").prop('checked', false);
    $(this).prop('checked', true);
});

如果您要取消选中选中的复选框

$(".checkbox").change(function() {
    $(".checkbox").not(this).prop('checked', false);
});

希望这会有所帮助,谢谢!!!