使用Bootstrap Touchspin添加和删除输入元素

时间:2015-12-03 14:49:16

标签: javascript jquery twitter-bootstrap

我正在尝试使用bootstrap touchspin来动态创建一系列输入区域,这些区域稍后将用于创建一个字数组,但我在创建元素时遇到了一些问题。我可以创建元素,但问题是删除它们,我试图让它工作

    <script>
    var limit = 40;
    var counter= 0;
        $("input[name='cant']").TouchSpin({
            min: 0,
        }).on('change', function (){ 
            var number = $(this).val();

            if ((number) >= limit)  {
                alert("Word limit reached");
                number=limit;
                }
                if(number >= counter){
                    for(i=counter;i<number;i++) {
                    var newdiv = document.createElement('div');
                    newdiv.innerHTML = "<br><input type='text' id='word"+i+"'>";
                    document.getElementById("ingresar").appendChild(newdiv);
                    counter++;
                    }else{
                        for(i=counter;i>number;i--){
                            document.getElementById("word"+i).remove();
                            counter--;
                        }
                    }
                }

        ;});
    </script>

有什么我想念的吗?我的猜测是,使用元素ID会搞砸我的代码。还有另一种更有效的方法吗?

1 个答案:

答案 0 :(得分:0)

在sintaxis(和逻辑)中有一些错误:用$(&#39; #word&#39; + i)修复.parent()。remove()

    if(number >= counter){
                    for(i=counter;i<number;i++) {
                    var newdiv = document.createElement('div');
                    newdiv.innerHTML = "<br><input type='text' id='word"+i+"'>";
                    document.getElementById("ingresar").appendChild(newdiv);
                    }
                    counter=number;
                }else{
                    for(i=counter;i>number-1;i--){
                        $('#word' + i).parent().remove()
                        }
                        counter=number;
                    }