To build dynamic input, we must capable to manipulate the DOM / HTML document. There were two task that occur after user event, adding a new input and remove existing input. In this tutorial, each task triggered by clicking event on specific button.
Follow following steps bellow to make dynamic input:
STEP 1 Create The Form
Build simple form with one text input, one label and two button.To create input like image above, you need jQuery, bootstrap, and font awesome.The complete HTML source code should be like this:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="description" content=""> <meta name="author" content=""> <link href="bootstrap.min.css" rel="stylesheet"> <link href="font-awesome-4.1.0/css/font-awesome.min.css" rel="stylesheet" type="text/css"> </head> <body> <div id="wrapper" ng-app="penjualan"> <!-- Navigation --> <nav class="navbar navbar-default navbar-static-top" role="navigation" style="margin-bottom: 0"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="index.html">DYNAMIC INPUT DEMO</a> </div> </nav> <div class="container" style="margin: 0px"> <div class="row" style="padding-top:10px"> <div class="col-lg-6"> <div class="panel panel-default"> <!-- /.panel-heading --> <div class="panel-body"> <form> <div class="dynamic-input-group"> <div class="form-group"> <label class="label-control">Dynamic Input</label> <button type="button" id="addBtn" class="btn btn-md btn-primary pull-right"> <i class="fa fa-plus-circle"></i> </button> </div> <div class="form-group" id="dynamic-input"> <input type="text" class="form-control" placeholder="This is dynamic input"> </div> </div> </form> </div> </div> </div> </div> </div> <!-- /#page-wrapper --> </div> <!-- /#wrapper --> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="bootstrap.min.js"></script> <script type="text/javascript" src="dynamic-input.js"></script> |
STEP 2 Create The Script Using jQuery
Our script will handle two functions:- Add funtion
This function will create new element below current input. - Remove function
This function will remove existing input.
1 2 3 4 5 6 7 8 9 10 11 12 | var newElement = ""; /* Add New Input */ $(document).on('click', '#addBtn', function(event) { newElement = "<div class='form-group' id='dynamic-input'><div class='input-group'><input type='text' class='form-control' placeholder='This is dynamic input'><span id='groupBtn' class='input-group-btn'><button type='button' id='removeBtn' class='btn btn-md btn-danger'><i class='fa fa-minus-circle'></i></button></span></div></div>"; $(newElement).insertAfter($(".form-group").last()); }); /* Remove Input */ $(document).on('click', '#removeBtn', function(event) { $(this).parent().parent().parent().remove(); }); |


0 comments :
Post a Comment