Javascript 是为动态表中的每个复选框分配ID的选项

Javascript 是为动态表中的每个复选框分配ID的选项,javascript,jquery,html-table,Javascript,Jquery,Html Table,这是我的动态表 单击按钮后,它将根据输入生成表 $(function () { $("#btnGenerate").click(function () { var textarea = document.getElementById("inglist"); var lines = textarea.value.replace(/\r\n/g,"\n").split(/:|,|\n/);

这是我的动态表

单击按钮后,它将根据输入生成表

 $(function () {
    $("#btnGenerate").click(function () {

        var textarea = document.getElementById("inglist");
        var lines = textarea.value.replace(/\r\n/g,"\n").split(/:|,|\n/);
        var lines2 = textarea.value.split(/(\d+(?:\.\d+)?)/);
        lines.forEach((o, i) => o.id = i + 1);
        var array1=new Array();
        for (var i = 1; i < lines .length; i++) {
                array1.push(lines [i].replace(/\[.*?\]/g, ''));}
        const results = [];
        array1.forEach(line => {
        const filtered = line.split(/([\s\w]+)\s(\d+(?:\.\d+)?)(%?)\s*(\[\d\])?/g).filter(Boolean);
        results.push(filtered);
        });
        var build = new Array();
        build.push(["ING name:", "Total:","unit", "Count it?:","x2?"]);
        var table1 = $("<table />");
        for(var i=0;i<results.length;i++){
            build.push(results[i]);
        }
        
        var countColumns = build[0].length;
        console.log(countColumns);
        var tables = $("<table /><class='form-control input-md'>");

        //Add the header row.
        var rows = $(tables[0].insertRow(-1));
        for (var i = 0; i < countColumns; i++) {
            var headerCell = $("<th /><class='form-control input-md'>");
            headerCell.html(build[0][i]);
            rows.append(headerCell);
        }

        //Add the data rows.
        for (var i = 1; i < build.length; i++) {
            row = $(tables[0].insertRow(-1));
            for (var j = 0; j < countColumns; j++) {
                var cell = $('<td><input type="checkbox"/>');
                cell.html(build[i][j]);
                row.append(cell);
            }
           
            
        }

        var dvTable1 = $("#dvTable1");
        dvTable1.html("");
        dvTable1.append(tables);
  
});
$(函数(){
$(“#btnGenerate”)。单击(函数(){
var textarea=document.getElementById(“inglist”);
var lines=textarea.value.replace(/\r\n/g,“\n”).split(/:|,|\n/);
var lines2=textarea.value.split(/(\d+(?:\。\d+)/);
forEach((o,i)=>o.id=i+1);
var array1=新数组();
对于(变量i=1;i{
const filtered=line.split(/([\s\w]+)\s(\d+(?:\.\d+))(%?)\s*(\[\d\])?/g)。filter(布尔);
结果:推送(过滤);
});
var build=newarray();
build.push([“ING名称:”、“总数:”、“单位”、“计数?:”、“x2?”);
变量表1=$(“”);

for(var i=0;i
$(“”)
不是有效的语法,是否要创建like
$(“”)
?可以这样尝试添加动态ID
$(```)
您需要向元素添加动态id的原因是什么?我问您,因为在运行时创建id会适得其反,而且通常是不必要的。如果您可以首先获得元素的引用来为其提供id,那么您根本不需要为其提供id。好吧,让我们同意我不再需要id,在这种情况下,我可以如何添加到仅数组选中复选框的行?您能帮助将其包含到我的代码中吗?