点击按钮,复杂行追加删除

1.初始化一行 中间一列为下拉框

html代码 

<table id="licenseTable" data-mobile-responsive="true" data-click-to-select="true"
                                   class="table table-bordered" >
                                <thead>
                                <tr>
                                    <th >連番</th>
                                    <th>サーバー名</th>
                                    <th>稼働区分</th>
                                    <th>端末割当台数</th>
                                    <th>操作</th>
                                </tr>
                                </thead>

                                <tbody id="bbsTab">

                                    <tr id="add_line">
                                        <td class="td_center" align="center">1</td>
                                            <td >
                                                <div class="form-group" style="margin-bottom: 0px;">
                                                    <input type="text" style="border:none;width:60%; margin-left: 30px"  class="form-control" id="serverName" name="serverName">
                                                </div>
                                            </td>
                                        <td>
                                            <select class="form-control" id="startType" style="border:none;" onchange="InputInfoDlg.selectChange()"><!-- -->
                                                <option value="0" checked="true">Hot Stand-by</option>
                                                <option value="1" >Cold Stand-by</option>
                                            </select>
                                        </td>
                                        <td>
                                            <div class="form-group" style="margin-bottom: 0px;">
                                                <input type="number" style="border:none;width:60%; margin-left: 30px" class="form-control"
                                                   id="distributionAuthNum" name="distributionAuthNum" onkeyup="InputInfoDlg.setTotalAuthNum()">
                                            </div>
                                        </td>
                                        <td>
                                            <button type="button" class="btn btn-danger" onclick="InputInfoDlg.deleteRow(this)" id="cancel">
                                                <i class="fa fa-remove"></i>&nbsp;この行を削除
                                            </button>
                                        </td>
                                    </tr>

                                </tbody>

                            </table>
                            <div class="row btn-group-m-t">
                                <div class="col-sm-10">
                                    <#button btnCss="info" name="行を追加" id="ensure" icon="fa-plus"
                                    clickFun="InputInfoDlg.addRow()"/>
                                </div>
                            </div>

js代码

/**
 * 新增一行
 */
InputInfoDlg.addRow = function(){
   //下面注释掉的代码也能用!!!

   /*var add_line = document.getElementById('add_line');                            //简化代码,把id名赋值给等号前面的名称中
    var nodeFather = add_line.parentNode;       //获取add_line中父节点并赋值到nodeFather
    var node_clone = add_line.cloneNode();     //获取add_line中使用cloneNode()中方法克隆所有属性以及它们的值
    content = add_line.innerHTML;      //innerHTML 属性设置或返回表格行的开始和结束标签之间的 HTML
    //node_clone.removeAttribute('id');      //removeAttribute() 方法删除指定的属性
    node_clone.innerHTML = content;      //
    nodeFather.appendChild(node_clone);   //appendChild() 方法向节点添加最后一个子节点
    numCheck();     //执行下下个方法的*/
   
   //第二种方法
    var lineStr = "<tr id=\"add_line\">\n" +
        "                                        <td class=\"td_center\" align=\"center\">1</td>\n" +
        "                                            <td >\n" +
        "                                                <div class=\"form-group\" style=\"margin-bottom: 0px;\">\n" +
        "                                                    <input type=\"text\" style=\"border:none;width:60%; margin-left: 30px\"  class=\"form-control\" id=\"serverName\" name=\"serverName\">\n" +
        "                                                </div>\n" +
        "                                            </td>\n" +
        "                                        <td>\n" +
        "                                            <select class=\"form-control\" id=\"startType\" style=\"border:none;\"  onchange=\"InputInfoDlg.selectChange()\">\n" +
        "                                                <option value=\"0\" checked=\"true\">Hot Stand-by</option>\n" +
        "                                                <option value=\"1\" >Cold Stand-by</option>\n" +
        "                                            </select>\n" +
        "                                        </td>\n" +
        "                                        <td>\n" +
        "                                            <div class=\"form-group\" style=\"margin-bottom: 0px;\">\n" +
        "                                                <input type=\"number\" style=\"border:none;width:60%; margin-left: 30px\" class=\"form-control\"\n" +
        "                                                   id=\"distributionAuthNum\" name=\"distributionAuthNum\" onkeyup=\"InputInfoDlg.setTotalAuthNum()\">\n" +
        "                                            </div>\n" +
        "                                        </td>\n" +
        "                                        <td>\n" +
        "                                            <button type=\"button\" class=\"btn btn-danger\" onclick=\"InputInfoDlg.deleteRow(this)\" id=\"cancel\">\n" +
        "                                                <i class=\"fa fa-remove\"></i>&nbsp;この行を削除\n" +
        "                                            </button>\n" +
        "                                        </td>\n" +
        "                                    </tr>";

    $("#licenseTable").append(lineStr);

    numCheck();

};

/**
 * 删除当前行
 */
InputInfoDlg.deleteRow =function (r) {
    var authTotalNum =null;
    var i=r.parentNode.parentNode.rowIndex;      //定义一个变量i,值为r的父节点的父节点所在的一行。即是你这里的tr;rowIndex返回某一行在表格的行集合中的位置,parentNode是父节点。

    if(i>1){

        document.getElementById('licenseTable').deleteRow(i);

    }else{

        alert("不能删除第一行");

    }

    var tr = $("#licenseTable tr");
    for (var i = 0; i < tr.length; i++) {// 遍历表格中每一行的内容
        var tds = $(tr[i]).find("td");
        if (tds.length > 0) {
            var distributionAuthNum = parseInt($(tds[3]).find("input").val());
            authTotalNum += distributionAuthNum ;
        }
    }

    if(isNaN(authTotalNum)){
        $('#authTotalNum').val('');
    }else{
        $('#authTotalNum').val(authTotalNum);
    }

    numCheck();//执行下个方法的

}


function numCheck(){

    var num = $("#bbsTab tr").length;     //获取tr的长度

    for (var i = 0; i <= num; i++) {         //进行循环

        $("#bbsTab tr .td_center").eq(i).html(i+1);

    };

}

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 你好,以下是一个简单的 Java App 示例: ``` public class HelloWorld { public static void main(String[] args) { System.out.println("Hello, World!"); } } ``` 这个程序会输出 "Hello, World!" 到控制台。希望能对你有所帮助。 ### 回答2: 一个简单的Java开发的app例子可以是一个计算器应用程序。 首先,我们需要设计一个GUI界面,用于显示计算器的界面和处理用户输入。可以使用Swing或JavaFX来实现。 在界面上,我们可以设计一些按钮,如数字按钮、运算符按钮和等号按钮,用户可以通过点击这些按钮来进计算。我们还可以添加一个文本框,用于显示用户的输入和计算结果。 接下来,我们需要编写事件处理程序,以响应用户的点击操作。每当用户点击一个按钮时,程序会根据按钮的标识来进相应的计算操作。比如,当用户点击数字按钮时,程序会将相应的数字追加到文本框中;当用户点击运算符按钮时,程序会将运算符保存下来;当用户点击等号按钮时,程序会根据保存的运算符和数字进相应的计算,并将结果显示在文本框中。 此外,为了使计算器具有更多的功能,我们可以在设计界面时添加其他按钮,如清除按钮、小数点按钮和括号按钮,用于更复杂的计算。 最后,我们可以在主类中实例化界面,并运我们的计算器应用程序。用户可以通过界面上的按钮进计算,并通过查看文本框来获得计算结果。 ### 回答3: 一个简单的Java开发的App例子可以是一个简易的待办事项管理应用。 首先,我们需要创建一个待办事项类,包含以下属性:事项的标题、描述、截止日期和是否完成的标志。然后,可以创建一个待办事项列表类,用于存储待办事项对象,并提供添加、删除和修改事项的方法。 在用户界面方面,我们可以使用Java的图形界面库(如Swing或JavaFX)来创建一个窗口应用程序,以便用户能够直观地操作。 用户在程序启动后,可以通过界面添加新的事项,包括标题、描述和截止日期。程序将把新添加的事项保存到待办事项列表中,并显示在界面上。用户可以选择单击已完成的事项,标记为已完成,或者选择删除事项。 还可以提供一个搜索功能,让用户可以根据关键字搜索相关的事项,以便更方便地查找和管理。 最后,为了保证数据的持久性,我们可以选择使用Java的文件操作或者SQLite等数据库来存储待办事项列表。在程序关闭和重新打开时,可以自动加载和保存已存在的事项。 通过这个简单的应用例子,我们可以锻炼Java编程的基本能力,熟悉面向对象的思维以及图形用户界面的设计与开发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值