很抱歉,如果以前曾经问过这个问题,但我现在已经挖掘了几个小时,运气不佳。
我想要实现的目标:我希望有一个表格,首先要询问用户需要注册多少孩子(最少10个孩子最多10个)。然后,我需要能够使用此变量为子项最多显示10个输入字段。我计划做的是使用datalist中的值,然后使用if / else语句生成表单。 (如果id = 2则(表单看起来像这样......)else ...我不知道该怎么做才捕获选择,然后将其传递给if / then语句。
<h2>How many children are you registering?</h2>
<input type="range" value="1" "min=1" max="10" list="number" />
<datalist id="number">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</datalist>
答案 0 :(得分:0)
HTML:
<h2>How many children are you registering?</h2>
<input type="range" value="1" "min=1" max="10" list="number" onChange="change(this);" />
<datalist id="number">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</datalist>
<div id="childrens">
</div>
JAVASCRIPT(在&lt; head&gt;中):
function change(el) {
var container = document.getElementById('childrens'),
child;
// Clear container
container.innerHTML = '';
// Add number of child inputs
for (var i=0; i<el.value; i++) {
child = document.createElement("input");
child.type = 'text';
container.appendChild( child );
}
}
答案 1 :(得分:0)
使用Jquery
试试这个。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<h2>How many children are you registering?</h2>
<input type="range" value="1" "min=1" max="10" list="number" id="list" />
<datalist id="number">
<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>
</datalist>
<div id="form_input">
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
$('#list').change(function(){
var i = $(this).val();
var m = 0;
$('#form_input').html("");
if(i != 0){
$('#form_input').append('<form id="form">');
while(m<i){
$('#form_input').append('<input type="text" id="text_'+m+'" name="text_'+m+'" />'); m++;
}
$('#form_input').append('</form>');
}
});
</script>
</body>
</html>