在javascript中自动生成一个字段

时间:2013-04-03 07:59:21

标签: javascript

我一直在尝试填写自动生成的字段,例如,在选项选择框中选择早于70的时候自动填写“已退休”字段。

我能得到任何帮助吗:)

3 个答案:

答案 0 :(得分: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" />

答案 1 :(得分: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/

答案 2 :(得分: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);
   }
});