我有几个输入字段,看起来像这样
<div class='kary rounded5' id='boarVariables'>
<span class='bld'>BOAR variables</span><br>
<div class='klbl'>Number of Boars Tested</div>
<input type='text' id='k_nobt'><br>
<div class='klbl'>AVG sperm/boar/week (lifetime)</div>
<input type='text' id='k_asbw'><br>
<div class='klbl'>Sperm per dose (bil)</div>
<input type='text' id='k_spdb'><br>
<div class='klbl'>Utilization rate</div>
<input type='text' id='k_ur'>%<br>
<div class='klbl'>Boar productive lifetime (months)</div>
<input type='text' id='k_bplm'><br>
<hr>
<div class='klbl'>Doses possible/week:</div>
<div class='kanswer' id='k_dpw'></div><br>
<div class='klbl'>Doses actual/week:</div>
<div class='kanswer' id='k_daw'></div><br>
<div class='klbl'>Usable doses/lifetime:</div>
<div class='kanswer' id='k_udl'></div><br>
<div class='klbl'>Sows served/lifetime:</div>
<div class='kanswer' id='k_ssl'></div><br>
</div>
我让enter像tab一样工作,当他们按下enter时,它会移动到下一个输入字段,并调用一个对输入进行计算的函数。
$('#boarVariables input').keypress(function(e) {
if (e.which == 13) {
$(this).nextAll('input').first().focus();
e.preventDefault();
}
});
$('#boarVariables input').blur(function(){
calcBoarVars();
});
当我到达最后一个输入字段时,我不知道如何移回第一个字段,这将通过模糊正确触发计算。
我已经尝试了这个变化(内捕捉进入),但没有运气
$('#boarVariables input:last-child').each(function(){
var $this = $(this);
$('#boarVariables input:first').focus();
});
2条答案
按热度按时间6qftjkof1#
DEMO:http://jsfiddle.net/ZURze/
kqqjbcuj2#
忘记回车键,只需附加onblur事件(或onchange)并使用tab键导航它们...应该可以
你可以在google上搜索tabindex,找到更多关于如何调整它的信息,选择你的标签导航顺序(甚至你可以在最后一个onblur时在第一个上触发focus,跳过其他元素)。