Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有没有办法在生成的列表的每个元素上自动添加按钮?_Javascript_Html_Database_Button - Fatal编程技术网

Javascript 有没有办法在生成的列表的每个元素上自动添加按钮?

Javascript 有没有办法在生成的列表的每个元素上自动添加按钮?,javascript,html,database,button,Javascript,Html,Database,Button,我正在开发一个web应用程序,它可以让人们安排课程和时间段,我正在尝试这样做,以便人们可以点击时间段来接受它。目前,从数据库检索该表并使用以下代码生成: function updateSchedules(name = "missing", grade = "missing", date = "missing", time = "missing", status = "missing", id) { let table = document.getElementById('schedule

我正在开发一个web应用程序,它可以让人们安排课程和时间段,我正在尝试这样做,以便人们可以点击时间段来接受它。目前,从数据库检索该表并使用以下代码生成:

function updateSchedules(name = "missing", grade = "missing", date = "missing", time = "missing", status = "missing", id) {
    let table = document.getElementById('schedules');
    let color;

    console.log("Output schedule for " + name);

    if (status.toLowerCase() === 'pending') {
        color = "background-color:rgb(252, 38, 0)";
    } else if (status.toLowerCase() === 'confirmed') {
        color = 'background-color:rgb(0, 255, 13)';
    } else {
        color = 'background-color:rgb(35, 64, 153)';
    }

    table.innerHTML += `
    <tr>
        <td>${name}</td>
        <td>${grade}</td>
        <td id=testday2>${date}</td>
        <td id=testtime2>${time}</td>
        <td style="${color}">${status}</td>
    </tr>`;
}
函数更新计划(name=“missing”、grade=“missing”、date=“missing”、time=“missing”、status=“missing”、id){
let table=document.getElementById('schedules');
让颜色;
console.log(“针对“+名称的输出计划”);
if(status.toLowerCase()=='pending'){
color=“背景色:rgb(252,38,0)”;
}else if(status.toLowerCase()=“已确认”){
颜色='背景色:rgb(02513)';
}否则{
颜色='背景色:rgb(35,64,153)';
}
table.innerHTML+=`
${name}
${grade}
${date}
${time}
${status}
`;
}

有没有一种方法可以在表的每一行上添加引用每一行唯一id的按钮,而不只是为每一行制作按钮和手动添加事件侦听器?

您必须使用
标记再添加一个
标记,并使用onlick event绑定,并在函数参数中传递唯一id,如下所示:

<td><button type="button" onclick="myfunc(${id})"></button></td>
如果将锚定标记与按钮类似-,则更合适:

<td><a onclick="myfunc(${id}")><button type="button"></button></a></td>

做同样的事情有多种方法。如果在jquery中使用
this
关键字而不是编写纯javascript,则更合适


您必须使用
标记再添加一个
标记,并使用onlick事件绑定,并在函数参数中传递唯一的\u id,如下所示:

<td><button type="button" onclick="myfunc(${id})"></button></td>
如果将锚定标记与按钮类似-,则更合适:

<td><a onclick="myfunc(${id}")><button type="button"></button></a></td>

做同样的事情有多种方法。如果在jquery中使用
this
关键字而不是编写纯javascript,则更合适