【问题标题】:jQuery adding numeric input dynamicallyjQuery动态添加数字输入
【发布时间】:2014-06-19 13:22:56
【问题描述】:

我有这个代码:

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();
}

它生成新行并在数字输入处停止。生成下拉菜单、文本输入并停止...

【问题讨论】:

    标签: jquery input numbers row add


    【解决方案1】:

    使用 typeof(newcell.childNodes[1]) 代替 newcell.childNodes[1].type

    【讨论】:

    • 我会试试的。 (目前服务器有一些问题)。如果需要,我刚刚更新了帖子,提供了更多信息。
    • 我试过了,没用。我的意思是,它适用于文本输入,但不适用于数字输入。也许是因为其他原因而停在那里。但是相同的脚本适用于另一个表(具有相同的 id 编号和结构,但没有数字输入)。
    猜你喜欢
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    • 2021-05-21
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多