jQuery动态添加数字输入

时间:2014-06-19 13:22:56

标签: jquery input numbers row add

我有这段代码:

switch (newcell.childNodes[1].type)
{
    case "text":
        newcell.childNodes[1].value = "";
        break;
    case "number":
        newcell.childNodes[1].value = "";
        break;
    case "select-one":
        newcell.childNodes[1].selectedIndex = 0;
        break;

这是我正在制作的添加/删除行功能的一小段代码。该行包含输入。

好吧,我设法使用除此之外的所有输入生成新的原始数据:

<td><input type="number" /></td>

我认为问题在于:case "number":。如何在我的JS中引用type="number"输入?

添加更多信息

我的HTML代码:

 <tbody id="dataTable">                       
        <tr class="trBody">
            <td>
                <asp:DropDownList ID="FeeClass" runat="server" name="feeClass">
                    <asp:ListItem Text="" Value=""></asp:ListItem>
                </asp:DropDownList>
            </td>
            <td><input type="text" value=""/></td>
            <td><input type="number" class="numberInput" value=""/></td>
            <td><button onclick="deleteRow(this)">Remove</button></td>
        </tr>  
 </tbody> 

我的JS代码:

function addRow(dataTable) {

    var table = document.getElementById("dataTable");

    var rowCount = table.rows.length;
    var row = table.insertRow(rowCount);
    row.id = row.uniqueID;
    row.id = "row" + rowCount;
    var rowID = row.id;
    var colCount = table.rows[0].cells.length;

    for(var i = 0; i < colCount; i++) {

        var newcell = row.insertCell(i);

        newcell.innerHTML = table.rows[0].cells[i].innerHTML;
        if (i == colCount-1){
            newcell.childNodes[0].setAttribute('id', "rB" + rowCount);
        }
        newcell.childNodes[1].name = newcell.childNodes[1].id + rowCount;

        //alert(newcell.childNodes);
        switch (newcell.childNodes[1].type)
        {
            case "text":
                newcell.childNodes[1].value = "";
                break;
            case "number":
                newcell.childNodes[1].value = "";
                break;
            case "select-one":
                newcell.childNodes[1].selectedIndex = 0;
                break;
        }
    }
    event.preventDefault();
}

它会生成新行并在数字输入处停止。生成下拉列表,文本输入并停止...

1 个答案:

答案 0 :(得分:0)

使用typeof(newcell.childNodes [1])而不是newcell.childNodes [1] .type