2016-08-20 1 views
0

Ich habe ein Formular, wo mein System 3 neue HTML-Steuerelemente erstellen, wenn Benutzer anydata im Textfeld eingeben und Enter-Taste drücken. Aber jetzt ist das Problem, wie PHP wissen wird, wie viele HTML-Steuerelemente dynamisch erstellt werden?Wie kann ich wissen, wie viele dynamische HTML-Steuerelemente in erstellt wurden?

HTML-Code:

<div class="col-lg-4"> 
     <div class="row"> 
      <div class="col-sm-5"> 
       <b>Objectives</b> 
      </div> 
      <div class="col-sm-4"> 
       <b>Status</b> 
      </div> 
      <div class="col-sm-3"> 
       <b>Compl. %</b> 
      </div> 
     </div> 
     <div class="row"> 
      <div id="mboTable"> 
       <div id="mboName" class="col-sm-5"></div> 
       <div id="mboState" class="col-sm-4"></div> 
       <div id="mboProgress" class="col-sm-3"></div> 
      </div> 
     </div> 
     <div class="row" > 
      <div class="col-sm-5"> 
      <input type="text" id="mboNameInput" class="form-control " onkeydown="addMbo(this.value)" placeholder="Your MBO..."> 
      </div> 
     </div> 
    </div> 

JavaScript-Funktion:

$(function() { 
var $id = 1; 
$("#mboNameInput").on("keydown", function(e) { 

if (e.keyCode == 13) { 
    e.preventDefault(); 
    var $nameDiv= $("#mboName"); 
    var $stateDiv= $("#mboState"); 
    var $progressDiv= $("#mboProgress"); 


    $nameDiv.append($("<input/>").attr("type","text").attr("value",$(this).val()).attr('class','form-control').attr('name','Mbo' + $id)); 
    $stateDiv.append($("<select/>").attr('class','form-control').attr('name','State' + $id).append($("<option/>").text("InProgress")).append($("<option/>").text("Completed")).append($("<option/>").text("Canceled"))); 
    $progressDiv.append($("<input/>").attr('class','form-control').attr("type","text").attr('name','Progress' + $id)); 
    $id++; 
    $(this).val(''); 
    } 

    }); 

    }); 

here its JSFiddle

Antwort

1

Ein einfacher Weg ist dies: HTML:

<input type="hidden" value="1" id="controlnum" name="controlnum"> 

Javascript innerhalb der if-Anweisung:

$('#controlnum').val($id); 
+0

meinen Sie i verstecktes Feld hinzufügen müssen, und ich sollte seinen Wert um 1 auf jedem neu erstellten Element erhöhen? @ Provie9 –

Verwandte Themen