从jquery或javascript动态添加元素

Hul*_*ulk 0 html javascript jquery jquery-selectors

如果用户在文本框中键入输入3,则应在下面显示三个小文本框,或者通过javascript或jquery弹出一个弹出窗口.如何完成...

 <input type="text" name="order">3</input>
Run Code Online (Sandbox Code Playgroud)

谢谢..

Jam*_*mes 8

给出<input/>一个"订单"的ID,然后就像这样简单:

var order = $('#order'),
    container = $('<div/>').insertAfter(order);

order.keyup(function(){
    container.html(
        Array(Math.abs(~~this.value) + 1).join('<input/>')
    );
});
Run Code Online (Sandbox Code Playgroud)

仅供参考,~~(双位 - 不)具有获取任何类型的数字表示(使用内部toInt32操作)然后对其进行拼接的效果.例如:

~~'2'; // => 2
~~'2.333'; // => 2
~~null; // => 0
Run Code Online (Sandbox Code Playgroud)

并且Math.abs是为了防止负值,如果传递给将导致错误Array().

演示:http://jsbin.com/azexa4