Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.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 如何使用textbox动态添加表行?_Javascript_Jquery_Dom - Fatal编程技术网

Javascript 如何使用textbox动态添加表行?

Javascript 如何使用textbox动态添加表行?,javascript,jquery,dom,Javascript,Jquery,Dom,我有一个表格,每行包含4个单元格,每个单元格包含一个文本框 默认情况下。我只有一行和一个按钮,允许我在每次单击时添加一行 如何在Javascript中动态添加包含文本框的表行 我还想更改他们的文本框id: <input type="text" id="txtbox1" /> <input type="text" id="txtbox2" /> 现在,我有了添加单元格的代码: JavaScript: <script type="text/javascript"&

我有一个表格,每行包含4个单元格,每个单元格包含一个文本框 默认情况下。我只有一行和一个按钮,允许我在每次单击时添加一行

如何在Javascript中动态添加包含文本框的表行

我还想更改他们的文本框id:

<input type="text" id="txtbox1" />
<input type="text" id="txtbox2" />

现在,我有了添加单元格的代码:

JavaScript:

<script type="text/javascript">
    function insertRow(){
                var table=document.getElementById("tbSibling");
                var row=table.insertRow(2);
                var cell1=row.insertCell(0);
                var cell2=row.insertCell(1);
                var cell3=row.insertCell(2);
                var cell4=row.insertCell(3);
    }
</script>
<table id="myTable">
        <th>Name</th>
        <th>Age</th>
        <th>Gender</th>
        <th>Occupation and Employer</th>
        <th>Add</th>
        <tr>
            <td><input type="text" id="txtName" /></td>
            <td><input type="text" id="txtAge" /></td>
            <td><input type="text" id="txtGender" /></td>
            <td><input type="text" id="txtOccupation" /></td>
            <td id="btnAdd" class="button-add" onclick="insertRow();">add</td>
        </tr>
</table>

函数insertRow(){
var table=document.getElementById(“tbSibling”);
var行=table.insertRow(2);
var cell1=行插入单元格(0);
var cell2=行插入单元格(1);
var cell3=行插入单元格(2);
var cell4=行插入单元格(3);
}
表格:

<script type="text/javascript">
    function insertRow(){
                var table=document.getElementById("tbSibling");
                var row=table.insertRow(2);
                var cell1=row.insertCell(0);
                var cell2=row.insertCell(1);
                var cell3=row.insertCell(2);
                var cell4=row.insertCell(3);
    }
</script>
<table id="myTable">
        <th>Name</th>
        <th>Age</th>
        <th>Gender</th>
        <th>Occupation and Employer</th>
        <th>Add</th>
        <tr>
            <td><input type="text" id="txtName" /></td>
            <td><input type="text" id="txtAge" /></td>
            <td><input type="text" id="txtGender" /></td>
            <td><input type="text" id="txtOccupation" /></td>
            <td id="btnAdd" class="button-add" onclick="insertRow();">add</td>
        </tr>
</table>

名称
年龄
性别
职业和雇主
添加
添加

只需创建一个带有文本框代码的html代码,然后将其附加到元素上即可

$("#addRow").click(function(){
   $("#myTable").append("<tr><td>row</td><td><input type='text'></td></tr>");
});
$(“#添加行”)。单击(函数(){
$(“#myTable”)。追加(“行”);
});
您的工作代码

以下是

    var ctr = 1;
$('#myTable').on('click', '.button-add', function () {
    ctr++;
    var txtName = "txtName" + ctr;
    var txtAge = "txtAge" + ctr;
    var txtGender = "txtGender" + ctr;
    var txtOccupation = "txtOccupation" + ctr;
    var newTr = '<tr><td><input type="text" id=' + txtName + ' /></td><td><input type="text" id=' + txtAge + ' /></td><td><input type="text" id=' + txtGender + ' /></td><td><input type="text" id=' + txtOccupation + ' /></td><td id="btnAdd" class="button-add">Add</td></tr>';
    $('#myTable').append(newTr);
});
var-ctr=1;
$('#myTable')。在('单击','按钮添加',函数(){
ctr++;
var txtName=“txtName”+ctr;
var txtAge=“txtAge”+ctr;
var txtGender=“txtGender”+ctr;
var txtOccupation=“txtOccupation”+ctr;
var newTr='添加';
$('#myTable')。追加(newTr);
});

这里有一个快速解决方案:

$('#btnAdd').click(function(e) {
    $('#myTable tr:last').after(
        '<tr><td><input type="text" id="txtName' + $("tr:last")[0].rowIndex + '" /></td><td><input type="text" id="txtAge' + $("tr:last")[0].rowIndex + '" /></td><td><input type="text" id="txtGender' + $("tr:last")[0].rowIndex + '" /></td><td><input type="text" id="txtOccupation' + $("tr:last")[0].rowIndex + '" /></td></tr>'
    );
});
$('#btnAdd')。单击(函数(e){
$('#myTable tr:last')。之后(
''
);
});
提琴样品:


另外,我建议您只有一个添加按钮。除非您需要,否则不需要复制添加按钮。

检查一下,这就是您想要的,使用纯javascript即可。


var i=1;
函数addRow()
{
var tbl=document.getElementById('table1');
var lastRow=tbl.rows.length;
var迭代=最后一行-1;
变量行=tbl.insertRow(最后一行);
var firstCell=row.insertCell(0);
var el=document.createElement('input');
el.type='text';
el.name='name_u'+i;
el.id='name_u'+i;
el.size=20;
el.maxlength=20;
第一个细胞。追加子细胞(el);
//警报(一);
i++;
frm.h.值=i;
//警报(一);
}
你好
这是4

JavaScript

$(".Add").click(function () {
            $(".tbl").append(newRow);
            ddlEditSelected = '0';
            numberOfRows++;

        });




        var newRow = "<tr><td><select class='status1' id='ddlStatus'  > <option value='0'>--Select--</option><option value='2'>Schedule Variance</option>" +
                           "<option value='3'>Effort Variance</option>" +
                           "<option value='4'>GOM Variance</option>" +
                            "<option value='5'>Defect Density per Person Day of Effort</option>" +
                             "<option value='6'>Resource Variance</option>" +
                              "<option value='7'>Process Quality</option>" +
                               "<option value='8'>Non Billable CRs</option>" +


                           "<td><input type='text' class='source1' id='txtSource' name='Source'  maxlength='3' onkeypress='return isNumberKey(event)' onblur='return checkvalidation(this)' ></td></td></tr>";
    });
$(“.Add”)。单击(函数(){
$(“.tbl”).append(newRow);
ddlEditSelected='0';
numberOfRows++;
});
var newRow=“--选择--计划差异”+
“努力差异”+
“GOM差异”+
“每人每天工作的缺陷密度”+
“资源差异”+
“工艺质量”+
“非计费CRs”+
"";
});
HTML

<table width="100%" id="qualitygoal1" class="tbl">
            <tbody>
                <tr>
                    <th align="center">Parameter</th>
                    <th align="center">WeightAge</th>


                </tr>

                @foreach (var data in Model)
                {

                    <tr>
                        <td>
                            <span class="spanStatus" id="lblStatus_@data.Id" destinationid="@data.Parameter">@data.ParameterValue</span>
                            <select class="status" id="ddlStatus_@data.Id">
                                <option value="0">--Select--</option>
                                <option value="2">Schedule Variance</option>
                                <option value="3">Effort Variance</option>
                                <option value="4">GOM Variance</option>
                                <option value="5">Defect Density per Person Day of Effort</option>
                                <option value="6">Resource Variance</option>
                                <option value="7">Process Quality</option>
                                <option value="8">Non Billable CRs</option>

                            </select>
                        </td>
                        <td>
                            <span class="spanSource" id="lblSource_@data.Id">@data.Weightages</span>
                            <input class="Source" id="txtSource_@data.Id" type="text" value="@data.Weightages" maxlength="3" onkeypress="return isNumberKey(event)" onblur="return checkvalidation(this)" />
                        </td>



                    </tr>

                }
            </tbody>
        </table>

参数
重量
@foreach(模型中的var数据)
{
@data.ParameterValue
--挑选--
进度差异
努力差异
GOM方差
每人每天工作的缺陷密度
资源差异
工艺质量
非计费CRs
@数据.权重
}
**添加按钮**

不同行中的所有文本框都有相同的输入ID@VondNo id。发问者希望所有动态生成的输入都有不同的ID。@编辑帖子时,请删除与问题无关的问候语/结束语。请参阅。感谢您指出,我不确定是否要从问题中删除。我以后会这么做。我不喜欢把所有的东西都浓缩成一条长长的线,但这确实对我想做的事情起到了很好的作用!
**add button** 



<div align="right">
        <input type="button" value="Add Phase" class="Add" />

        <input type="button" value="Save" class="saved" />
        <input type="button" value="Close" class="cancel" />



    </div>