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,在这种情况下,我可以如何添加到仅数组选中复选框的行?您能帮助将其包含到我的代码中吗?