【发布时间】:2018-10-16 22:55:37
【问题描述】:
我正在做一个小项目,我有一个似乎不起作用的功能!这是我的删除功能:
$(document).ready(function(){
var id = 0;
var addOpdracht = $('<a/>', {
'class': 'btn btn-success',
'id': 'addOpdracht'
}).on('click', function(){
$('.panel-body').append(getExerciseBlock(id));
id++;
}).html('<i class="fa fa-plus"></i>');
$('.jumbotron').append(addOpdracht);
})
function getAddBtn(target, i){
var addBtn = $('<a/>', {
'class': 'btn btn-primary'
}).on('click', function(){
$(target).append(getWordPartInput(i));
}).html('<i class="fa fa-plus"></i>');
console.log(target);
return addBtn;
}
function getRemoveBtn(target, i){
var removeBtn = $('<a/>', {
'class': 'btn btn-danger'
}).on('click', function(){
$(target).remove(getWordPartInput(i));
}).html('<i class="fa fa-minus"></i>');
console.log(target);
return removeBtn;
}
function getExerciseBlock(i){
var eBlock = $('<div/>',{
'id': i,
'class': 'col-md-12'
});
$(eBlock).append(getAudioBtn(i), getWordInput(i), getWordPartInput(i),
getRemoveBtn(i), getAddBtn(eBlock, i));
return eBlock;
}
function getAudioBtn(id, cValue){
cValue = cValue || '';
var audioBtn = $('<a/>', {
'class': 'btn btn-primary'
}).html('<i class="fa fa-volume-up"></i>');
return audioBtn;
}
function getWordInput(id, cValue){
cValue = cValue || '';
var wInput = $('<input/>', {
'class': 'form-group form-control',
'type': 'text',
'name': 'question_takeAudio_exerciseWord[]',
'placeholder': 'Exercise',
'id': 'exerciseGetWordInput'
})
return wInput;
}
function getWordPartInput(id, cValue){
cValue = cValue || '';
var wpInput = $('<input/>', {
'class': 'form-group form-control',
'type': 'text',
'value': cValue,
'placeholder': 'Syllables',
'id': 'SyllablesGetWordPartInput'
});
return wpInput;
}
不起作用的部分是:
function getRemoveBtn(target, i){
var removeBtn = $('<a/>', {
'class': 'btn btn-danger'
}).on('click', function(){
$(target).remove(getWordPartInput(i));
}).html('<i class="fa fa-minus"></i>');
console.log(target);
return removeBtn;
}
getBtn 有效,但我的删除功能不起作用。
是什么阻止了我的代码正常工作? 'getAddBtn' 每次点击它时都会给我一个额外的输入字段,现在我试图让我的removeBtn 做同样的事情,但这次它应该每次都删除一个输入字段。
图片澄清:请注意蓝色的小“添加”标志!这将提供额外的输入字段!绿色大按钮与问题无关!当单击蓝色按钮时,它会不断添加和添加输入字段,但是如果单击太多次并且想要删除一个怎么办?我希望这个小编辑有助于更多地理解我的意思。
【问题讨论】:
-
working code example 对我们的帮助最大。请更改问题的名称。有实际的 delete javascript 关键字,所以很混乱
-
你的函数
getWordPartInput(i)的代码也会有所帮助。 -
还有,请尝试以更易读的方式格式化您的代码
-
@LudovitMydla jsfiddle.net/DanDy/hqy73b0h 一个工作示例,第一个红色按钮有效(一半),而其他所有按钮根本无效。
标签: javascript button removeall