我有点想进入一般的编程领域,并且想知道如何取消/检查更新数组-
就像某人选中第二个复选框一样,应取消选中第一个选项并更新搜索(使用新数据)-我只是一个初学者,有点迷失了,所以不胜感激任何形式的帮助
<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>
答案 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;
}
答案 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);
});
希望这会有所帮助,谢谢!!!