CheckBox List未设置全部选中

时间:2018-04-06 00:00:06

标签: javascript jquery

我在查找代码中出错的地方时遇到了问题。我已经动态填充了一个复选框列表,列表底部有一个“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);

                }
            }
        });




    });

1 个答案:

答案 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;
  }
}