UncheckAll /勾选复选框时,另一个复选框被选中
问题描述:
我有下拉选择框的功能,如果我点击名为'ALL'
的复选框,它将取消选择所有其他选中的复选框,其工作但当我尝试以其他方式做除了'ALL'
以外的选择复选框,它只会取消选中'ALL'
复选框,它与我的第一个功能重叠,它可以完成这项工作,但'ALL'
复选框没有被选中,任何人都可以帮助我解决这个问题,非常感谢您的帮助。UncheckAll /勾选复选框时,另一个复选框被选中
下面是我的代码:
HTML:
<label class="text-primary" for="type">Type: </label>
<select id="type" mode="checkbox" style="width: 300;">
<option value="ALL" selected="Selected" checked="1">ALL</option>
<option value="Car">Car</option>
<option value="Ball">Ball</option>
<option value="Radio">Radio</option>
</select>
JAVASCRIPT:
type_combobox.attachEvent("onCheck", function(value, state){
var values = type_combobox.getChecked();
type_value = {};// put combo value into scope variable
for(var i = 0; i < values.length; i++){
type_value[values[i]] = true;// build hash for easy check later
}
//UNCHECK CHECKBOXES IF ALL IS SELECTED
if(type_value['ALL'] == true){
type_combobox.forEachOption(function(optId){
type_combobox.setChecked(optId.index,false);
})
type_combobox.setChecked(0,true);
}
gantt.render();// and repaint gantt
});
//InCORRECT
if(type_value['ALL'] == true && !type_value['ALL'] == false){
type_combobox.setChecked(0,false);
}
答
希望这会有所帮助,我想这样的作品,你希望:
$(function(){
function unCheckAll() {
$(".myCheckGroup").each(function(index) {
if ($(this).attr('name') != 'all')
$(this).prop('checked', false);
})
}
$(".myCheckGroup").change(function() {
let chk = this;
let isChecked = $(this).is(':checked')
console.log(chk.name)
if (chk.name == 'all') {
unCheckAll()
}else {
$('.myCheckGroup[name=all]').prop('checked', false);
}
})
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div><input type="checkbox" name="all" value="all" class="myCheckGroup">all</div>
<div><input type="checkbox" name="one" value="1" class="myCheckGroup">one</div>
<div><input type="checkbox" name="two" value="2" class="myCheckGroup">two</div>
<div><input type="checkbox" name="thee" value="3" class="myCheckGroup">three</div>
<div><input type="checkbox" name="four" value="4" class="myCheckGroup">four</div>
+0
嗨@Jordi,感谢您的帮助,这将工作,但不幸的是不是我的dhtmlx'onCheck'函数。相同的原则,但代码需要有所不同,如果你能帮助我,它会非常感谢 –
请包括所有相关的代码(html) –
编辑,谢谢。 –
你正在使用'选择'而不是'输入检查',你在这里的主要目标是什么?你想使用'选择多选项'还是只使用'输入类型检查'? –