如何在运行时附加带按钮ID的值?

时间:2010-08-27 17:31:42

标签: javascript

我使用下面的javaScript代码在运行时创建表。我有点假设在按钮的ID中附加一个值。它会起作用吗我因为双引号而感到困惑。

function createTable(){
EmployeeManagement.getList(function(data){
var employee = data;

var x = "<table border= 1 >";
    x+="<thead> " + "<tr>" + "<td>" + "Check" + "</td><td>" + "ID" + "</td><td>" + "Name" + "</td><td>" + "Age" + "</td><td>" + "Dept" + "</td><td>" + "Option" + "</td></tr></thead>";
    for(i = 0; i<data.length; i++)
    {
        var id = data[i].id;
    x+= "<tr>";
    x+= "<td>" + "<input type=checkbox name=Employee value='emp'+id />"
    x+= "<td>" + data[i].id + "</td><td>" + data[i].name + "</td>";
    x+= "<td>" + data[i].age + "</td><td>" + data[i].dept + "</td>";
    x+= "<td>" + "<input id='edit'+id type='button' value='Edit' onclick=edit(this.id) />" + "</td>"; 
    x+= "</tr>";
    }
    x+= "</table>";
    $('#tableHolder').html(x);
});
   }

在这里,我想将id值附加到ID值id BUTTON。 我已经编码了。它会起作用吗或如何使其发挥作用。 我可以使用jquery手段,如何??? 任何建议都会很有意义...... 感谢

4 个答案:

答案 0 :(得分:2)

不,它不会起作用。就像使用其他字符串一样,使用字符串连接:

"<input id='edit" + id + "' type='button' value='Edit' onclick=edit(this.id) />" 
//              --^  --^ 

目前,您正在生成无效的HTML。但你可以尝试自己找到它;)

答案 1 :(得分:0)

使用字符串连接...后续行中的单元格也应与头行中的单元格数相匹配。

function createTable(){
EmployeeManagement.getList(function(data){
var employee = data;

var x = "<table border= 1 >";
    x+="<thead> " + "<tr>" + "<td>" + "Check" + "</td><td>" + "Name" + "</td><td>" + "Dept" + "</td><td>" + "Option" + "</td></tr></thead>";
    for(i = 0; i<data.length; i++)
    {
        var id = data[i].id;
    x+= "<tr>";
    x+= "<td>" + "<input type=checkbox name=Employee value='emp"+id+"' /> </td>";
    x+= "<td>" + data[i].id + "</td><td>" + data[i].name + "</td>";
    x+= "<td>" + data[i].age + "</td><td>" + data[i].dept + "</td>";
    x+= "<td>" + "<input id='edit"+id+"' type='button' value='Edit' onclick=edit(this.id) />" + "</td>"; 
    x+= "</tr>";
    }
    x+= "</table>";
    $('#tableHolder').html(x);
});
   }

答案 2 :(得分:0)

是的,这应该有效。假设id为FOO,则生成的html为:

<input id='editFOO' type='button' ...

可以通过将其分成三个部分来完成:

"<input id='edit" + id + "' type='button' ..."

答案 3 :(得分:0)

在JavaScript中,双引号字符串中的变量不会被解释。所以你必须把变量放在字符串之外。替换例如这样:

"<input type=checkbox name=Employee value='emp'+id />"

用这个:

"<input type=checkbox name=Employee value='emp" + id "' />"