使用javascript选中复选框时填充选项列表

时间:2011-05-25 14:38:25

标签: javascript

单击复选框时,需要使用复选框填充选项列表。如果在该复选框下面选中了一个复选框,则会考虑有三个复选框,应显示带复选框的选项列表。如果选中了一个复选框,那么就在那之下等等........

如何在javascript中执行此操作.....任何帮助..........

2 个答案:

答案 0 :(得分:0)

如果您的列表是静态的,我会在div中提前定义它们,并将可见性设置为false。然后,在复选框的OnClick方法中,只需在必要时将可见性设置为true。

答案 1 :(得分:0)

既然你问了一个非常通用的问题,我会给出一个非常通用的答案。

示例: http://jsfiddle.net/NFs4K/3/

var container = document.getElementById('container'),
    template = '<li>\
        <input type="checkbox">\
    </li>\
    <li>\
        <input type="checkbox">\
    </li>\
    <li>\
        <input type="checkbox">\
    </li>';


container.onchange = function(e) {
    var event = e || window.event,
        target = event.srcElement || event.target;

    if( target.checked && target.parentNode.getElementsByTagName('ul').length === 0 ) {
        var ul = document.createElement('ul');
        ul.innerHTML = template;
        target.parentNode.appendChild(ul);
    } else {
        var ul = target.parentNode.getElementsByTagName('ul')[0];
        target.parentNode.removeChild(ul);
    }
};

如果您想要更好的答案,请提出更详细的问题。


编辑:删除了checkboxes变量。它没有被使用。


编辑:我进行了更新,以便在检查时只附加子列表,并且只检查第一个时间。


编辑:已更新,以便在取消选中时删除所有嵌套级别。