这是原帖: Multiple dynamic input text javascript
Here is my attempt:
http://jsfiddle.net/AZz6R/
我发现我的尝试和原始帖子之间的区别可能是JavaScript和jQuery如何处理return语句。在原始帖子中,由于某种原因,代码仍然会在return语句之后执行。
我的问题是,任何人都可以帮助我使代码在jQuery而不是纯JavaScript中运行吗?
答案 0 :(得分:1)
试试这个:
$('#myDiv').on('keyup', 'input', function() {
if($(this).val() == ''){
$(this).next().remove();
return;
}
else if($(this).next().val() == '') {
console.log('here');
return;
}
var newTxt = $(this).clone();
var id = newTxt.attr('id');
newTxt.attr('id', 'txt_' + (parseInt(id.substring(id.indexOf('_') + 1))));
newTxt.val('');
$(this).parent().append(newTxt);
});
<强> jsFiddle 强>
答案 1 :(得分:0)
代码中的主要问题是if
条件。如下更改它应该工作:
if($(this).val()==''){
$(this).next().remove();
return;
}
else if($(this).next().val()) {
console.log('here');
return;
}
第二个问题是,克隆输入的值不会变空。如下更改它将起作用:
newTxt.val('');