JQuery在html页面的datatable列中随机检查复选框



我有一个带有一列复选框的数据表。在按下按钮时,代码需要识别有多少未选中的复选框,然后根据需求(从名称数量的文本框)随机勾选它们。

我尝试的是使用下面的代码:

$(document).ready(function() {
$('#btnRand').click(function(){
var checkboxes = $("input.selectQuestion:checkbox").length;
var must_check = 2; //supposed to come from input box by name quantity
while ($("input.selectQuestion:checkbox:checked").length < must_check) {
// Pick random checkbox
var random_checkbox = Math.floor(Math.random() * checkboxes) + 1;
// Check it
$("input.selectQuestion:checkbox:nth-child("+random_checkbox+")").prop("checked", true);
}

})
});

但不幸的是,它没有像预期的那样工作(单击btnRand时不检查复选框)。有人能帮忙解决这个问题吗?

这是jsfiddle: https://jsfiddle.net/ab9sej5p/5/

您的表连接抛出了一个脚本错误。

$(document).ready( function() {
var table = $('#example').DataTable({
....

阻止

$('#btnRand').click(function(){

从运行的while循环似乎被困在一个无限循环和

input.selectQuestion:checkbox:nth-child

似乎引用了错误的东西,可能是因为它是一个js小提琴的例子。与其使用数据表动态地添加类选择问题,为什么不把它放在HTML中的复选框上呢?我决定简化它,所以我把它倒回去,然后把一些东西放在一起:

https://jsfiddle.net/kve184pt/

由于只有3行,它可能会接缝,就像它不是随机的,但它是,只是偶尔只保持选择相同的随机项目(s)几次在一行

我希望这有帮助

最新更新