使用this jQuery shiftbox plugin插件或this one

在JS中

for (var hidx in hosts) {
        var h = hosts[hidx];
        var line_html = '<tr><td><input type="checkbox" class="input shiftCheckbox"  value = "'+ hidx +'" data-fullname="'+ h +'"></input></td><td>' + h + '</td> </tr>';
        tbody_hosts.append($(line_html));
}


这是动态生成的。

在HTML中

<script src="/static/js/jquery.shiftcheckbox.js" type= "text/javascript" ></script>
<script type= "text/javascript" >
    $(document).ready (function() {
        $('.shiftCheckbox').shiftcheckbox();
    });
</script>


为什么不起作用?因为它是动态的?

最佳答案

您需要在追加元素之后附加事件,因为您不能委托大多数jquery插件:

for (var hidx in hosts) {
    var h = hosts[hidx];
    var line_html = '<tr><td><input type="checkbox" class="input shiftCheckbox"  value = "'+ hidx +'" data-fullname="'+ h +'"></input></td><td>' + h + '</td> </tr>';
    tbody_hosts.append($(line_html));

    tbody_hosts.find('.shiftCheckbox').shiftcheckbox();
}

08-25 10:53