【发布时间】: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