我有这段代码:
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();
}
它会生成新行并在数字输入处停止。生成下拉列表,文本输入并停止...
答案 0 :(得分:0)
使用typeof(newcell.childNodes [1])而不是newcell.childNodes [1] .type