繁体   English   中英

动态添加输入字段 JavaScript

[英]Dynamically adding input fields JavaScript

我想输入两个input字段和一个button ,通过按钮click功能动态添加它们。

它们应该如下所示:

https://i.stack.imgur.com/iRnDu.png

单击按钮add ,我想禁用该按钮,添加新的一行项目(2 个input框和可点击的button )。 我还想将文本框中的 2 个值存储在一个数组中。

add() { 
    let row = document.createElement('div');   
    row.className = 'row'; 
    row.innerHTML += ` 
    <br> 
    <input type="text" id="text1"> <input type="text" id="text2"> <button id="button">ADD</button> `; 
    document.querySelector('.showInputField').appendChild(row); 
    document.getElementById("button").addEventListener('click',this.input,false);}input(){
        
    let inputValue = (document.getElementById("text1") as HTMLInputElement).value;
    console.log(inputValue);
    this.user.push(inputValue);
    this.users.push(this.user);
    this.user = [];
}

这是 HTML:

<div> 
    CLICK ON BUTTON TO ADD NEW FIELD 
    <div class="showInputField">
        <button (click)="add()">ADD</button> 
    </div> 
    <!-- The add() function is called -->
</div> 

 <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="panel panel-default"> <div class="panel-body"> <div id="education_fields"> </div> <div class="col-sm-3 nopadding"> <div class="form-group"> <input type="text" class="form-control" id="Schoolname" name="Schoolname[]" value="" placeholder="School name"> </div> </div> <div class="col-sm-3 nopadding"> <div class="form-group"> <div class="input-group"> <select class="form-control" id="educationDate" name="educationDate[]"> <option value="">Date</option> <option value="2015">2015</option> <option value="2016">2016</option> <option value="2017">2017</option> <option value="2018">2018</option> </select> <div class="input-group-btn"> <button class="btn btn-success" type="button" onclick="education_fields();"> <span class="glyphicon glyphicon-plus" aria-hidden="true"></span> </button> </div> </div> </div> </div> <div class="clear"></div> </div> </div> <script> var room = 1; function education_fields() { room++; var objTo = document.getElementById('education_fields') var divtest = document.createElement("div"); divtest.setAttribute("class", "form-group removeclass" + room); var rdiv = 'removeclass' + room; divtest.innerHTML = '<div class="col-sm-3 nopadding"><div class="form-group"> <input type="text" class="form-control" id="Schoolname" name="Schoolname[]" value="" placeholder="School name"></div></div><div class="col-sm-3 nopadding"><div class="form-group"><div class="input-group"> <select class="form-control" id="educationDate" name="educationDate[]"><option value="">Date</option><option value="2015">2015</option><option value="2016">2016</option><option value="2017">2017</option><option value="2018">2018</option> </select><div class="input-group-btn"> <button class="btn btn-danger" type="button" onclick="remove_education_fields(' + room + ');"> <span class="glyphicon glyphicon-minus" aria-hidden="true"></span> </button></div></div></div></div><div class="clear"></div>'; objTo.appendChild(divtest) } function remove_education_fields(rid) { $('.removeclass' + rid).remove(); } </script>

暂无
暂无

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

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