如图,填3的话下面只显示3个文本框,文本框随着添加数字的不同而变化,怎么实现,求解决!!!
看下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script src="https://cdn.staticfile.org/jquery/1.10.2/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#txtCount").change(function () {
var count = $('#txtCount').val();
addOptions(count);
});
});
//添加选项
function addOptions(count) {
var options = "";
for (var i = 1; i <= count; i++) {
options += "<tr><td style='text-align:right;width:100px;'>选项" + i + ":</td><td style='text-align:left;'><input id='txtOption" + i + "' type='text' style='width: 150px; padding-left: 5px;' /></td></tr>";
}
$("#tbOptions").html(options);
}
</script>
</head>
<body>
<div>
<table>
<tr>
<td style="text-align:right;width:100px;">
选项数量:
</td>
<td style="text-align:left;">
<input id="txtCount" type="text" title="选项数量" placeholder="选项数量" onchange="" style="width: 150px; padding-left: 5px;" />
</td>
</tr>
</table>
<table id="tbOptions"></table>
</div>
</body>
</html>
十分感谢!
选项数量框加change事件,每次监测到修改时,读取数量框内的值,把A-J的html存一个数组里,然后for循环去append追加到对应的dom上。设读取到的值是3,那么for循环的次数也是3,即可。
但是添加过后的元素在修改数字之后还是存在,元素越来越多
@仄平Z: 每次for循环添加节点之前,清空一下Dom下的html,比如,你是给$("#某ID").append(html);那么在for前面清空一下,这样写:$("#ID").html("");这样元素就不会越来越多。
@自闭玩家: 感谢大佬
你这个写的是选择数量 结果却是文本框 它不应该是下拉框么 然后下拉选择后onchange事件 然后将对应的要显示出来的选项显示出来即可
这个简单吧
我是菜鸟。。。