2014-06-19 3 views
0

Это может звучать глупо ..JQuery добавление цифрового ввода динамически

У меня есть этот код:

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; 

Это маленький кусочек кода для добавления/удаления строк функциональность, что я делаю. Строка содержит входы.

Ну, мне удается генерировать новое сырьевое withh всех входы, кроме этого:

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

Он генерирует новую строку и останавливается на ввод номера. Genrates ниспадающее меню, ввод текста и останавливается ...

ответ

0

использование TypeOf (newcell.childNodes [1]) вместо newcell.childNodes [1] .Type

+0

Я попробую его. (Имея некоторые проблемы с сервером в данный момент). Я просто обновил сообщение с дополнительной информацией, если это необходимо. – SrAxi

+0

Я пробовал, и не работал. Я имею в виду, что он работает с текстовыми вводами, но не работает с номером ввода. Возможно, это останавливается на какой-то другой причине. Но тот же скрипт работает для другой таблицы (с тем же номером и структурой, но без ввода номера). – SrAxi

Смежные вопросы