我一直在尝试填写一个自动生成的字段,例如在选项选择框中选择 70 岁以上时自动填写“退休”。
请问我能得到任何帮助吗:)
这是一种可能的方法:
var age = document.getElementById('age');
var status = document.getElementById('status');
age.onchange = function(){
switch(parseInt(this.value)){
case 20: status.value = 'working'; break;
case 50: status.value = 'working'; break;
case 70: status.value = 'retired'; break;
default: status.value = 'Unknown';
}
};
演示:http: //jsfiddle.net/louisbros/zV6D8/
您可以有条件地更改现有字段的可见性,而不是“生成”新字段。最简单的例子:
<script>
function checkAge(f){
var age = f.options[f.selectedIndex].value
var field = document.getElementById('field');
if(age>69)
field.style.display='';
else
field.style.display='none';
}
</script>
<select onchange="checkAge(this)">
<option value="10">10 years</option>
<option value="30">30 years</option>
.
.
.
<option value="70">70 years</option>
</select>
<input type="text" id="field" value="" style="display:none" />
最好是用字段显示/隐藏 div。另外,它消耗的资源更少......否则请尝试以下操作:
<form id="my-form">
<input id="age-textbox" name="age" text="" />
</form>
$('#age-textbox').blur(function(){
if (!isNaN($(this).val())
&& parseInt($(this).val()) >= 70)
{
var field = $('<input/>', { id: "test", name: "test" });
$('#my-form').append(field);
}
});