0

我一直在尝试填写一个自动生成的字段,例如在选项选择框中选择 70 岁以上时自动填写“退休”。

请问我能得到任何帮助吗:)

4

3 回答 3

0

这是一种可能的方法:

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/

于 2013-04-03T08:16:32.927 回答
0

您可以有条件地更改现有字段的可见性,而不是“生成”新字段。最简单的例子:

<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" />
于 2013-04-03T08:09:11.623 回答
0

最好是用字段显示/隐藏 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);
   }
});
于 2013-04-03T08:20:54.990 回答