基本上,我試圖做的是在頁面上有一個單獨的文本框。當用戶輸入一個數字時,它應該自動在其下面生成X個額外的文本框。根據文本框的值創建文本框
我已經能夠基於下拉框使其工作,但下拉框不適用於此應用程序。
<html>
<head>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script>
<script>
$(document).ready(function(){
$("#ppl").change(function(){
// The easiest way is of course to delete all textboxes before adding new ones
//$("#holder").html("");
var count = $("#holder input").size();
var requested = parseInt($("#ppl").val(),10);
if (requested > count) {
for(i=count; i<requested; i++) {
var $ctrl = $('<input/>').attr({ type: 'text', name:'text', value:'text'});
$("#holder").append($ctrl);
}
}
else if (requested < count) {
var x = requested - 1;
$("#holder input:gt(" + x + ")").remove();
}
});
});
</script>
</head>
<body>
<SELECT id="ppl">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</SELECT>
<div id="holder"></div>
</body>
</html>
還有一種替代方法使用ajax而不是jQuery來做這種事嗎?
演示:Fiddle
AJAX將如何相關? – alex 2013-05-02 00:52:26
你是什麼意思'使用AJAX而不是jQuery? – 2013-05-02 00:52:30
我會創建一個文本框模板,在for循環中克隆我設置爲您的第一個文本框的輸入值 – 2013-05-02 00:53:47