2016-07-26 60 views
0

我需要一個幫助。我正在創建多個文本區域,單選按鈕字段,並通過單擊加號按鈕下拉列表。在我需要用戶點擊減號按鈕時,最後所有3種類型的項目都應刪除,但不會發生這種情況。我在下面解釋我的代碼。無法使用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> 

的JavaScript代碼在下面給出。

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); 
    } 
} 

這裏,當我點擊-按鈕只有最後一個文本區域正在刪除。但我需要刪除相應的單選按鈕和文本區域下拉列表(if exist)。這裏總共有plunkr代碼存在。請幫幫我。

+0

您可以檢查我的plunkr代碼輸出。 – satya

回答

1

試試這個,請正確關閉你的div,我想你忘了把一個div關閉標籤。

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

你可以刪除最後一行其中您動態添加和包含文本區域,單選按鈕和下拉列表。

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

這爲我工作,

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); 
    } 
}); 
}); 

jsfiddle

相關問題