2016-07-26 11 views
0

löschen Ich brauche eine Hilfe. Ich erstelle mehrere Text-Bereich, Radio-Button-Feld und Drop-Down-Liste, indem Sie auf einen Plus-Button klicken. Hier muss ich, wenn Benutzer auf Minus-Taste klicken, die letzte alle 3 Art-Element löschen sollte, aber es nicht so geschieht. Ich erkläre meinen Code unten.Kann das Radiobutton-Eingabefeld nicht dynamisch mit Javascript/Jquery

<input name="no_of_question" id="ques" class="form-control" placeholder="no of question" type="text"> 
<label>Questions</label> 
<input type="button" class="btn btn-success btn-sm" name="plus" id="plus" value="+" onClick="addQuestionField();"> 
<input type="button" class="btn btn-danger btn-sm" name="minus" id="minus" value="-" onClick="deleteQuestionField();"> 
<div id="container"> 
    <div class="row"> 
     <div class="col-md-3"> 
     <div class="form-group"> 
      <textarea class="form-control" name="questions0" id="questions0" placeholder="Questions" style="background:#FFFFFF;" rows="2"></textarea> 
     </div> 
     </div> 
     <div class="col-md-9"> 
     <div style="margin-top:37px;"> 
      <div style="float:left; margin-right:10px;"> 
      <input type="radio" name="answer_type0" id="answer_type0" onClick="selectScale(this.value,'0');"> 
      </div> 
      <div style="float:left; margin-top:-10px;display:none;" id="scaleid0"> 
      <select class="form-control" id="nscale0" name="noofscale0"> 
       <option value="">Select Answer Type</option> 
       <option value="1">Cuttuck</option> 
       <option value="1">BBSR</option> 
      </select> 
      </div> 
     </div> 
</div> 

Das ist Javascript-Code unten.

function addQuestionField(){ 
    var get =$("#ques").val(); 
    if(get===null || get===''){ 
     alert('Please add no of questions'); 
    }else{ 
     for(var i=1;i<get;i++){ 
     $('#container').append('<div class="row"><div class="col-md-3"><div class="form-group"><textarea class="form-control" name="questions'+ i +'" id="questions'+ i +'" placeholder="Questions" style="background:#FFFFFF;" rows="2"></textarea></div></div> <div class="col-md-9" ><div style="margin-top:37px;"><div style="float:left; margin-right:10px;"> <input type="radio" name="answer_type'+i+'" id="answer_type0" onClick="selectScale(this.value,'+i+');"></div><div style="float:left; margin-top:-10px;display:none;" id="scaleid'+i+'"><select class="form-control" id="nscale'+i+'" name="noofscale'+i+'"><option value="">Select Answer Type</option><?php foreach($feeddatascale as $v){ ?><option value="1" >Cuttuck</option><?php } ?></select></div><div style="clear:both;"></div></div></div><div>'); 
     } 
    } 
} 
function deleteQuestionField(){ 
    var get =$("#ques").val(); 
    var textareas = $('#container textarea'); 

    if (textareas.length !== 0) { 
    textareas.last().remove(); 

    $('#ques').val(textareas.length - 1); 
    } 
} 

hier, wenn ich - Tastenbereich nur der letzte Text am klicken abzieht. Aber ich muss den entsprechenden Radiobutton und die Drop-Down-Liste (if exist) mit Textbereich löschen. hier ist der gesamte plunkr Code vorhanden. Bitte hilf mir.

+0

Sie können meine plunkr Code überprüfen Ausgabe. – satya

Antwort

2

Fügen Sie eine Wrapper-Klasse für die Eingabe alle zusammen gesetzt und auf Löschen entfernen, immer in Templating, versuchen Wrapper-Selektor zu verwenden Blöcke von HTML-Code dieser

$('#container').append('<div class="row dyn"> 

https://plnkr.co/edit/kBWcs6zUmMndB3RwXMcF?p=preview

1

Versuchen zu isolieren und zu Bitte schließe deine Div. Ich denke, du hast vergessen, ein Div-Tag zu setzen.

function deleteQuestionField(){ 
     var get =$("#ques").val(); 
     var textareas = $('#container').find('textarea'); 
     if (textareas.length !== 0) { 
     $('#container div.row:last-child').remove(); 

     $('#ques').val(textareas.length - 1); 
     } 
    } 
1

können Sie die letzte Zeile löschen, die Sie dynamisch hinzugefügt und die enthält den Textbereich, Optionsfeld und Dropdown-Liste.

function deleteQuestionField(){ 
    $("#container>row").last().remove();  
} 
0

Das ist für mich gearbeitet,

HTML:

<input name="no_of_question" id="ques" class="form-control" placeholder="no of question" type="text"> 
<label>Questions</label> 
<input type="button" class="btn btn-success btn-sm" name="plus" id="plus" value="+"> 
<input type="button" class="btn btn-danger btn-sm" name="minus" id="minus" value="-"> 
<div id="container"> 

</div> 

JS (jQuery):

$(document).ready(function(){ 
$('#plus').click(function(){ 
    var get =$("#ques").val(); 
    if(get===null || get===''){ 
     alert('Please add no of questions'); 
    }else{ 
     for(var i=1;i<=get;i++){ 
     $('#container').append('<div class="row"> <div class="col-md-9" ><div style="margin-top:37px;"><div style="float:left; margin-right:10px;"> <input type="radio" name="answer_type'+i+'" id="answer_type0" onClick="selectScale(this.value,'+i+');"></div><div style="float:left; margin-top:-10px;display:none;" id="scaleid'+i+'"><select class="form-control" id="nscale'+i+'" name="noofscale'+i+'"><option value="">Select Answer Type</option><?php foreach($feeddatascale as $v){ ?><option value="1" >Cuttuck</option><?php } ?></select></div><div class="col-md-3"><div class="form-group"><textarea class="form-control" name="questions'+ i +'" id="questions'+ i +'" placeholder="Questions" style="background:#FFFFFF;" rows="2"></textarea></div></div><div style="clear:both;"></div></div></div><div>'); 
     } 
    } 
}); 
$('#minus').click(function(){ 
    var get =$("#ques").val(); 
    var textareas = $('#container textarea'); 
    var radiobtns = $('#container input'); 

    if (textareas.length !== 0) { 
     textareas.last().remove(); 
     radiobtns.last().remove(); 

    $('#ques').val(textareas.length - 1); 
    } 
}); 
}); 

Siehe jsfiddle

Verwandte Themen