我在查找代码中出错的地方时遇到了问题。我已经动态填充了一个复选框列表,列表底部有一个“SelectAll”列表项。
当我切换列表项“SelectAll”并将all设置为是否选中时,一切正常,所有列表项都相应更改。但是,如果在选择SelectAll项之前选择了其他列表项之一,则在后续SelectAll操作中将不再切换该项。
var Activities = " Hiking,Boating,Camping,Music,Theater,News,Biking,Market,History ";
var selectAllText = "SelectAll";
function InitializeListItems() {
var splits = Activities.split(",");
splits.sort();
for (var i = 0; i < splits.length; i++) {
AddListItem(splits[i] );
}
AddListItem(selectAllText )
}
function AddListItem(name ) {
var li = " <li > " +
"<label style='border:none; padding-left:5px'> <input
type='checkbox' value='" + name + "' id='" + name + "ID' > " +
name + "</label> </li>";
document.getElementById('FilterList').innerHTML += li
}
$(document).on('click', '#FilterList li', function () {
var ip = $(this).find('input');
ip.each(function () {
if ($(this).is(":checked")) {
if ($(this).attr('value') == selectAllText) {
$('#FilterList').find('input').attr('checked', true);
}
}
else {
if ($(this).attr('value') == selectAllText) {
$('#FilterList').find('input').attr('checked', false);
}
}
});
});
答案 0 :(得分:1)
根据您想要的任何事件调用该函数。
var checkboxes = doc.querySelector('input[name="mycheckboxes"]');
function uncheck(elements){
for (var i = 0; i < itemRows.length; i++) {
checkboxes[i].checked = false;
}
}
function check(elements){
for (var i = 0; i < itemRows.length; i++) {
checkboxes[i].checked = true;
}
}