2016-03-30 10 views
0

Ich versuche dynamisch Zeilen zu einer Tabelle hinzufügen, um Bestellungen aufzunehmen und haben eine javascript Funktion dafür erstellt.Inkrementieren ID-Attribut Wert durch Javascript

Ich mache dies, um die Werte aller Elemente im Code hinter der Datei zu erhalten, um sie in die Datenbank zu setzen. aber aufgrund dieses i einen Fehler in der aspx.designer.cs Seite sagen Semikolon erhalten erwartet

protected global::AjaxControlToolkit.ComboBox prod" + newid + "; 

ASP.NET-Code

<table class="Grid" id="table"> 
     <tr> 
      <td colspan="5">Enter Order Details</td> 
     </tr> 
     <tr> 
      <th>Sr No.</th> 
      <th>Product</th> 
      <th>Quantity</th> 
      <th>Price</th> 
      <th>Amount</th> 
     </tr> 
     <tr id="1"> 
      <td><a class="cut">-</a>1</td> 
      <td> 
       <ajaxToolkit:ComboBox ID="prod1" runat="server" DataSourceID="SqlDataSource2" DataTextField="pname" DataValueField="pid" MaxLength="0" style="display: inline;"></ajaxToolkit:ComboBox> 
       <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:micoConnectionString %>" SelectCommand="SELECT [pid], [pname] FROM [Products]"></asp:SqlDataSource> 
      </td> 
      <td><input type="number" required="required" min="1" name="quantity1" /></td> 
      <td id="price1"></td> 
      <td id="amount1"></td> 
     </tr> 
    </table> 
<a class="add" onclick="addnewrow()" href="#">+</a> 

Antwort

0

prüfen diese

$("#btnAddSchedule").click(function() { 
    var trs = $("[id^=trSchedules]"); 
    var numberofrows = trs.length; 
    var newtr = $('#' + trs[0].id).clone(); 
    $(newtr).attr('id', $(newtr).attr('id').replace(/\d+/, numberofrows)); 
    newtr.find("input,select,img").each(function() { 
     $(this).attr('id', $(this).attr('id').replace(/\d+/, numberofrows)); 
     $(this).attr('name', $(this).attr('name').replace(/\d+/, numberofrows)); 
     if ($(this).attr('type') != "hidden") { 
      $(this).val(''); 
     } 
     else if ($(this).attr('id').indexOf('DataExportQueueID') == -1) { 
      $(this).val(''); 
     } 
     if ($(this).attr("type") == "checkbox") { 
      $(this).removeAttr("checked"); 
      $(this).parent().html($(this).parent().html().replace(/\d+/g, numberofrows)); 
     } 
     if ($(this).attr("type") == "button") { 
      $(this).attr("onclick", "deleteSchedule(this,0);"); 
     } 
    }); 
    $('#' + trs[numberofrows - 1].id).after(newtr); 
    CrossCheckScheduleRows(); 
}); 
function CrossCheckScheduleRows() { 

    $('[id^=trSchedules]').each(function() { 
     var row = $(this); 
     var index = row[0].rowIndex - 2; 
     row.attr('id', row.attr('id').replace(/\d+/, index)); 
     row.find("input,select,img").each(function() { 
      $(this).attr('id', $(this).attr('id').replace(/\d+/, index)).attr('name', $(this).attr('name').replace(/\d+/, index)); 

     }); 
    }); 

} 

ich diese verwenden für den gleichen Zweck, vielleicht wird es dir helfen

+0

Das ist mit jQuery-Bibliothek. – derloopkat

+0

also kopierst du deine erste Zeile so wie sie ist und ersetze einfach die Nummer des ID-Attributs durch die neue Nummer? krank versuchen Sie dies jetzt dank –

+0

Id wird durch Zeilenanzahl ersetzt – Krishna

Verwandte Themen