For a form I got the markup below, it belongs to an input category and as there can be more than one insertion at it I includded an Añadir button (Add).
I give id="posgrado1" to first div and using Java Script I increment the id's to posgrado2, posgrado3, ... posgrado#n
<div class="form-group" id="posgrado1">
    <label for="checkPosgrado" class="col-xs-2 control-label">Estudios de Posgrado</label>
    <div class="col-xs-2">
        <select class="form-control inputPosgradoTipo">
            <option>Especialidad</option>
            <option>Maestría</option>
            <option>Doctorado</option>
        </select>               
    </div>
    <div class="col-xs-4">
        <input type="text" class="form-control inputPosgradoTitulo" placeholder="Título">                       
    </div>
    <div class="col-xs-3">
        <input type="text" class="form-control inputPosgradoCedula" placeholder="Cédula">
    </div>
    <div class="col-xs-1">
        <input type="button" class="form-control btnAñadirPosgrado" value="Añadir">
    </div>
</div>
Each html within a class got a class identifying the type of input.
So far this is how I add more input instances:
numPosgrados = 1
function agregarPosgrado () {
    var markupPosgrado="";
    markupPosgrado += "                    <div class=\"form-group\" id=\"posgrado";
    markupPosgrado += (++numPosgrados)+"\">";
    markupPosgrado += "                        ";
    markupPosgrado += "                        <label for=\"checkPosgrado\" class=\"col-xs-2 control-label\"><\/label>";
    markupPosgrado += "";
    markupPosgrado += "                        <div class=\"col-xs-2\">";
    markupPosgrado += "                            <select class=\"form-control inputPosgradoTipo\">";
    markupPosgrado += "                                <option>Especialidad<\/option>";
    markupPosgrado += "                                <option>Maestría<\/option>";
    markupPosgrado += "                                <option>Doctorado<\/option>";
    markupPosgrado += "                            <\/select>                ";
    markupPosgrado += "                        <\/div>";
    markupPosgrado += "";
    markupPosgrado += "                        <div class=\"col-xs-4\">";
    markupPosgrado += "                            <input type=\"text\" class=\"form-control inputPosgradoTitulo\" placeholder=\"Título\">                        ";
    markupPosgrado += "                        <\/div>";
    markupPosgrado += "";
    markupPosgrado += "                        <div class=\"col-xs-3\">";
    markupPosgrado += "                            <input type=\"text\" class=\"form-control inputPosgradoCedula\" placeholder=\"Cédula\">";
    markupPosgrado += "                        <\/div>";
    markupPosgrado += "";
    markupPosgrado += "                    <\/div>";
    $("#posgrado"+(numPosgrados-1)).after(markupPosgrado)
}
For getting the information I'd like to return a JSON, like:
function obtenerPosgrados () {
    return {EachInstance: {eachInputTypesForEach}}
}
This is an example fiddle.
What's a better implementation of this? Can I take more advance of jQuery or any other JavaScript library?


