如果用戶輸入一個輸入說3到文本框三個小文本框應該顯示在下面或通過JavaScript或jQuery的彈出。如何做到這一點...動態添加元素從jquery或javascript
<input type="text" name="order">3</input>
謝謝..
如果用戶輸入一個輸入說3到文本框三個小文本框應該顯示在下面或通過JavaScript或jQuery的彈出。如何做到這一點...動態添加元素從jquery或javascript
<input type="text" name="order">3</input>
謝謝..
記住你應該掩蓋文本框只允許數字條目......或者,也許用一個下拉列表,用數字來防止錯誤的列表。但here是一個很好的jQuery蒙板插件來防止非數字條目。
<input type="text" name="Order" onKeyDown="checkVal(this)">3</input>
<div id="myDiv">
</div>
function checkVal(ctrl){
var val = ctrl.value;
$('myDiv').html(''); // remove existing elements
for (i=0;i<parseInt(val,10);i++){
$('#myDiv').append('<input type="text" />');
}
}
給這個<input/>
「秩序」的ID,那麼它的那樣簡單:
var order = $('#order'),
container = $('<div/>').insertAfter(order);
order.keyup(function(){
container.html(
Array(Math.abs(~~this.value) + 1).join('<input/>')
);
});
僅供參考,~~
(雙位操作不)具有獲得的任何數量表示的效果鍵入(使用內部toInt32
操作),然後對其進行鋪設。 E.g:
~~'2'; // => 2
~~'2.333'; // => 2
~~null; // => 0
而且Math.abs
是爲了防止負值,如果傳遞給Array()
將拋出一個錯誤。
絕對比接受的答案要好。 – 2010-03-24 13:53:07
當然。當然。 – 2010-03-24 13:58:29
如果你解釋雙位NOT地板,可能會對大多數讀者有所幫助。 :) – miketaylr 2010-03-24 14:00:38
由於..................... – Hulk 2010-03-24 13:27:17
始終指定基數作爲第二個參數,以parseInt函數。這可以確保像0xAF和類似輸入的輸入不會以不需要的基數解析 – PatrikAkerstrand 2010-03-24 13:27:40
這會將4個文本框放入div中,而不是3.您需要將其更改爲i
ryanulit
2010-03-24 13:28:32