2013-03-01 183 views
1

有一个选择器,当我选择一个特定的选项时,它显示额外的表单域。那时我想把焦点转移到新的领域。这是我的尝试,但它似乎并没有工作。我错过了什么?:显示表单域和焦点

$('#mySelector').change(function() { 
     var st = $(this).val(); 
     if (st == 'a') {     
      $('#a').show(function(){ 
       $('#aField').focus(); 
      }); 
      $('#b').hide(); 
     } else if (st == 'b') { 
      $('#a').hide(); 
      $('#b').show(function(){ 
       $('#bField').focus(); 
      });    
     } else { 
      $('#a, #b').hide(); 
     } 
    }); 
+0

可你也发表您的HTML中的jsfiddle? – Whizkid747 2013-03-01 23:16:36

+0

什么部分不起作用?显示/隐藏还是只有焦点? – bmavity 2013-03-01 23:20:36

回答

0

This works。你的错误在你的代码中的其他地方。可能在你的HTML一个错字:

<select id="mySelector"> 
    <option value=""></option> 
    <option value="a">a</option> 
    <option value="b">b</option> 
</select> 

<div id="a"> 
    <input type="text" value="A field" id="aField" /> 
</div> 

<div id="b"> 
    <input type="text" value="B field" id="bField" /> 
</div> 

http://jsfiddle.net/zwR4F/