我正在尝试使用jquery,并且在使用我在网上找到的脚本后遇到了问题。
输入要创建的文本字段数后,文本字段会出现,但一旦点击它们就会消失。我真的很感激这方面的一些帮助。谢谢!
$(function() {
var input = $('<input type="text" />');
var newFields = $('');
$('#qty').bind('blur keyup change', function() {
var n = this.value || 0;
if (n+1) {
if (n > newFields.length) {
addFields(n);
} else {
removeFields(n);
}
}
});
function addFields(n) {
for (i = newFields.length; i < n && i<20; i++) {
var somestr = "Length of Sample ";
var num = i+1;
var newInput = input.clone();
newFields = newFields.add(newInput);
$('#newFields').append(somestr+num+":");
newInput.appendTo('#newFields');
}
}
function removeFields(n) {
var removeField = newFields.slice(n).remove();
$('#newFields').remove();
newFields = newFields.not(removeField);
}
});
答案 0 :(得分:0)
我只会将你的函数绑定到blur
,这是不再选择输入字段的时候
$('#qty').bind('blur', function() {
... The function ...
经过一段时间的游戏后,我发现在第一次删除后删除一些对象时出现了一些错误。我搞砸了一段时间但后来决定最简单的方法就是没有单独的add
和remove
,而只是一个set
方法。 Check out the demo,它完美无缺。唯一的缺点是你不保留旧的输入(因此每次刷新时它们的字段都是空的)