Adăugarea dinamică a rândurilor la <table>

Am următorul tabel în asp.net:

 <table style="width: 98%" id="tblOtherDoc">
    <tr>
       <td style="width: 10; text-align: left;">
          Documents:
       </td>
    </tr>
    <tr>
       <td>
          
          Add Other 
          
          View
        </td>
     </tr>
  </table>

De fiecare dată când este bifată caseta de validare, adaug un nou rând exact în tabel folosind jQuery (astfel încât pot fi adăugate mai multe documente).

// Add new area for Other Document attachements
    function otherDocsClicked(row) {
        var isChecked = $(row).closest("tr").find("input[type=checkbox][id*=cbOther]").is(':checked');

        if (isChecked == true) {
            var clone = $('#tblOtherDoc tbody>tr:last').clone(true);
            clone.find("input[type='hidden'], select").val("");              
            clone.find("input[type='checkbox'], checked").removeAttr('checked');
            clone.insertAfter('#tblOtherDoc tbody>tr:last');
        }
    }

Aș dori să știu cum să adaug aceste rânduri dinamic folosind C# când fac o a lua pentru a reveni o listă de documente care au fost deja adăugate.

Sau, alternativ, dacă cineva crede că există o modalitate mai bună de a face acest lucru, aș aprecia cu adevărat orice intrare, deoarece aceasta este singura soluție la care am putut veni și mi se pare că mi-a dat mai multe probleme decât orice altceva.

0

2 răspunsuri

Utilizați răspunsul Kapils, dar eliminați codul jQuery din caseta de selectare. Utilizați jQuery pentru a atașa evenimentul OnClick. În loc de onclick = "otherDocsClicked (this)" în casetele de selectare, adăugați o clasă pentru caseta de selectare, de exemplu. chkDoSomething și apoi efectuați următoarele.

$(".chkDoSomething").live('change',function(){
     //your code goes here.
 }

Apoi, ar trebui să puteți adăuga rândul în C# cum a sugerat Kapil și jQuery dvs. ar trebui încă foc

0
adăugat

Puteți utiliza controlul tabelului asp.net:

Control tabelar

De exemplu.   Adăugarea unui rând în codul c #:

TableRow row = new TableRow();
                TableCell cell = new TableCell();
                cell.Controls.Add(new TextBox());
                row.Cells.Add(cell);
                table.Rows.Add(row);

În pagina dvs. .aspx:

 
0
adăugat
Am încercat să folosesc acest lucru, dar problema pe care o am atunci când folosesc este că onclick-ul meu pe CheckBox (pe care îl numesc jQuery pentru a adăuga un alt rând duplicat) nu mai apare.
adăugat autor Melanie, sursa
jQuery a fost postat
adăugat autor Melanie, sursa
postați codul jQuery.
adăugat autor Kapil Khandelwal, sursa