Javascript 随着数字的增加,添加新输入的for循环中出现问题
根据,我希望在每次添加新输入时,在字段(1、2、3)中输入数字,从新输入增加到输入中的Javascript 随着数字的增加,添加新输入的for循环中出现问题,javascript,jquery,for-loop,Javascript,Jquery,For Loop,根据,我希望在每次添加新输入时,在字段(1、2、3)中输入数字,从新输入增加到输入中的name[+number increasing here+][ 这个例子不适用 我想要这个: 如果输入到“字段1”编号2,我们将得到两个新输入,即名称 name[0][],name[1][]在“字段2”中输入编号3我们得到 名称[2][]、名称[3][]、名称[4][]在“字段3”中输入编号2we 获取名称[5][]、名称[6][]等 代码(如何,固定值作为字符串而不是int!?): var计数器=0; $('
name[+number increasing here+][
这个例子不适用
我想要这个:
如果输入到“字段1”编号2
,我们将得到两个新输入,即名称
name[0][],name[1][]
在“字段2”中输入编号
3
我们得到
名称[2][]、名称[3][]、名称[4][]
在“字段3”中输入编号
2
we
获取名称[5][]、名称[6][]
等代码(如何,固定值作为字符串而不是int!?):
var计数器=0;
$('input').live(“keyup”,函数(){
var id='#'+$(this.nexist('b').attr('id');
$(id+'.lee').empty();
var val=int($(this.val());
对于(变量i=计数器;i
编辑:我重新阅读了您的问题,并相信我有一个符合您期望行为的解决方案:
JavaScript:
var counter = 0;
$('input').live('keyup', function(e) {
// bail out if the keypress wasn't a number
if (e.which < 48 || e.which > 57) { return; }
// get the current value of the input
var val = +$(this).val();
// don't do anything if we don't have a valid number
if (isNaN(val)) { return; }
// find and empty .lee
var $lee = $(this).closest('b').find('.lee').empty();
// create inputs
for (var i = 0; i < val; i++) {
$('<input type="text"/>').attr('name', 'hi[' + (counter + i) + '][]')
.appendTo($lee);
}
// update our counter
counter = val + counter;
});
var计数器=0;
$('input').live('keyup',函数(e){
//如果按键不是一个数字,就退出
如果(e.which<48 | | e.which>57){return;}
//获取输入的当前值
var val=+$(this.val();
//如果我们没有有效的号码,什么都不要做
if(isNaN(val)){return;}
//找到并清空,李
var$lee=$(this.closest('b').find('.lee').empty();
//创建输入
对于(变量i=0;i
下面是更新后的JSFIDLE:首先,您更改了我的所有代码:)。您不再将字符串值强制转换为int(前面的“+”字符很重要)。您对
val
变量的命名不一致(有时val
有时$val
)。而且,unique
在任何地方都没有定义,所以我不确定应该做什么。。。。
var counter = 0;
$('input').live('keyup', function(e) {
// bail out if the keypress wasn't a number
if (e.which < 48 || e.which > 57) { return; }
// get the current value of the input
var val = +$(this).val();
// don't do anything if we don't have a valid number
if (isNaN(val)) { return; }
// find and empty .lee
var $lee = $(this).closest('b').find('.lee').empty();
// create inputs
for (var i = 0; i < val; i++) {
$('<input type="text"/>').attr('name', 'hi[' + (counter + i) + '][]')
.appendTo($lee);
}
// update our counter
counter = val + counter;
});