简体   繁体   English

在表中动态添加行

[英]Adding Rows Dynamically in a Table

Here I am trying to display the modal popup window with one text area and two dropdowns in a row.在这里,我试图显示带有一个文本区域和连续两个下拉菜单的模式弹出窗口。 And I am trying to add row by clicking "AddNewRow" button in same popup window.我试图通过单击同一弹出窗口中的“AddNewRow”按钮来添加行。 For this I have written Javascript function.为此,我编写了 Javascript 函数。

    Java Script function for Adding row.   
    <SCRIPT TYPE="text/javascript">

          function addRow() {
              var tbody = document.getElementById(modaltable).getElementsByTagName("TBODY")[0];
              // create row
              var row = document.createElement("TR");
              // create table cell 1
              var td1 = document.createElement("TD");
              var strHtml1 = "<FONT SIZE=\"+3\"></FONT>";
              td1.innerHTML = strHtml1.replace(/!count!/g, count);

              var td2 = document.createElement("TD")
              var strHtml2 = "<SELECT NAME=\"Alpha-Numeric Scramble\"><OPTION VALUE=\"Alpha-Numeric Scramble\">Alpha-Numeric Scramble<OPTION VALUE=\"Packed-Decimal Scramble\">Packed-Decimal Scramble<OPTION VALUE=\"Date-Time Scrambler\">Date-Time Scrambler</SELECT>";
              td2.innerHTML = strHtml2.replace(/!count!/g, count);

              var td3 = document.createElement("TD")
              var strHtml3 = "<SELECT NAME=\"Yes\"><OPTION VALUE=\"Yes\">Yes<OPTION VALUE=\"No\">No</SELECT>";
              td2.innerHTML = strHtml3.replace(/!count!/g, count);

              row.appendChild(td1);
              row.appendChild(td2);
              row.appendChild(td3);

              count = parseInt(count) + 1;
              // append row to table
              tbody.appendChild(row);

          }
              </script>

This is For modal popup design.这是用于模态弹出设计。

    <table class="table .table-responsive" id ="modaltable">
    <tbody>
            <tr>
            <td ><textarea class="form-control" id="comment" ></textarea></td>
            <td ><div class="dropdown">
                <asp:DropDownList ID="DropDownList2" runat="server" CssClass="selectpicker">
                    <asp:ListItem Text="Alpha-Numeric Scramble"/>
                    <asp:ListItem Text="Packed-Decimal Scramble"/>
                    <asp:ListItem Text="Date-Time Scrambler"/>
                    </asp:DropDownList>
             </div></td>
            <td><div class="dropdown">
             <asp:DropDownList ID="DropDownList1" runat="server" CssClass="selectpicker">
                 <asp:ListItem Text="Yes"/>
                    <asp:ListItem Text="No"/>
             </asp:DropDownList>

             </div></td></tr></tbody></table>

These are buttons in modal popup,这些是模态弹出窗口中的按钮,

 <div class="modal-footer">
                <asp:Button ID="Addnewrow" runat="server" CssClass="btn btn-primary" Text="Add New Row" OnClientclick= "addRow()"/>

Here If I click "AddNewRow" button one row should add.这里如果我点击“AddNewRow”按钮,应该添加一行。

Unfortunately not able to displaying.可惜不能显示。 What's the error in the above Java script.上面 Java 脚本中的错误是什么。 Any help Please.任何帮助请。

Here is what happening in your code.这是您的代码中发生的事情。 You have used <ASP:Button> control for triggering your javascript function.您已使用<ASP:Button>控件来触发您的 javascript 函数。 It is better to use HTML <button> like below:最好使用 HTML <button>如下所示:

<button ID="Addnewrow" class="btn btn-primary" onclick= "addRow()"> Add New Row </button>

OR或者

If you want to use server side control then you should stop postback triggered after OnClientClick Some changes needed in your code.如果您想使用服务器端控件,那么您应该停止OnClientClick之后触发的回发 代码中需要一些更改。
First add return false;先添加return false; in your function addRow() {在你的function addRow() {
Then use OnClientclick= "return addRow()"然后使用OnClientclick= "return addRow()"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM