使用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();
}