无法使用javascript添加表格行

时间:2016-03-17 06:21:18

标签: javascript html


我有adding/deleting table rows on button click using javascript的一段代码。我的表有一个下拉菜单,有两个文本框字段和一个删除按钮字段。
这是我的表。
table structure
这是我的HTML代码。

<table id="tbl" border="1">
        <tr>
            <td>Group</td>
            <td>Subject</td>
            <td>Reg.Number</td>
            <td>Delete?</td>

        </tr>
        <tr>
            <td> <select id='group'>
                    <option value='0'>----------</option>
                 </select></td>
            <td> <input type="text" id="sub" /></td>
            <td><input  type="text" id="regno" /></td>
            <td><input type="button" id="del" value="Delete" onclick="deleteRow(this)"/></td>

        </tr>
    </table>
    <input type="button" id="addmore" value="Add more" onclick="insRow()"/>

我的Javascript代码

function deleteRow(row)
{
    var i=row.parentNode.parentNode.rowIndex;
    document.getElementById('tbl').deleteRow(i);
}


function insRow()
{
    console.log( 'hi');
    var x=document.getElementById('tbl');
    var new_row = x.rows[1].cloneNode(true);
    var len = x.rows.length;   
    var inp1 = new_row.cells[1].getElementsByTagName('input')[0];
    inp1.id += len;
    inp1.value = '';
    var inp2 = new_row.cells[2].getElementsByTagName('input')[0];
    inp2.id += len;
    inp2.value = '';
    x.appendChild( new_row );
}

我面临的问题有点奇怪,意味着,如果我在表格中再添加一个下拉列表the "add" function will not work。我尝试了一切,谷歌搜索,阅读了很多文章,但没有一个帮助我。请帮我解决我的问题。 感谢。

2 个答案:

答案 0 :(得分:2)

只需将.getElementsByTagName('input')替换为.getElementsByTagName('select') http://jsfiddle.net/2fk4L6fj/1/

答案 1 :(得分:2)

当您在代码中找不到问题时,请按下按钮'F12'并查看“控制台”中的打印信息,然后您就会找到它。

enter image description here