javascript - for 循环中添加数字不断增加的新输入时出现的问题

标签 javascript jquery for-loop

根据example ,我希望每次添加新输入时都将数字放入字段(1,2,3)中,每个数字都从新输入中增加到名称[+此处增加的数字+][]输入。

<强> Example: 这个例子没有成功

我想要这个:

if put to "field 1" number 2 we get tow new input that name it is name[0][], name[1][]
in "field 2" put number 3 we get name[2][], name[3][], name[4][]
in "field 3" put number 2 we get name[5][], name[6][] and etc.

代码(如何固定 val 作为字符串而不是整数!?):

var counter = 0;
$('input').live("keyup", function () {    
    var id = '#'+$(this).closest('b').attr('id');
    $(id+' .lee').empty();    
    var val = int($(this).val());
    for (var i = counter; i < val + counter; i++) {
        $(id+' .lee').append('<input type="text" name="hi['+i+'][]">');        
    }
    counter = val + counter;
});

最佳答案

编辑:我重新阅读了您的问题,并相信我有一个具有您所需行为的解决方案:

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

这是更新后的 jsFiddle:http://jsfiddle.net/wAwyR/14/

关于javascript - for 循环中添加数字不断增加的新输入时出现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7531770/

相关文章:

javascript - 使用可编辑的 div 高度更改来添加和删除其他 DOM 元素的类

javascript - 语义 UI 在单击事件时初始化弹出窗口

r - 用于 R 中两个数据集之间计算的 for 循环矢量化

php - 使用 onkeyup JS 事件检查输入的值是否唯一

java - Struts2:如何在 ActionSupport 中获取 ServletRequest 实例

javascript - Apache Cordova 联系方式查找

python - 在 Python 中将列表推导式转换为 For 循环

javascript - 获取错误代码 : 0 in only IE for javascript file

javascript - 循环函数javascript中未定义的数组

python selenium 在循环中查找子元素