这是剧本
<script src="Scripts/jquery-1.7.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('input[type="text"]').blur(function() {
$(this).removeClass("focus");
var a = $(this).context.id;
if (a.indexOf('guest') > 0)
{
if ($(this).val()&&$(this).val()!=0)
{
//$(this).parent().parent().next().show();
var b = $(this).parent().parent().next().children().find("textarea");
b.parent().parent().show();
b.addClass("focus");
b.focus();
}
else
{
$(this).parent().parent().next().children().find("textarea").val('');
$(this).parent().parent().next().hide();}
}
});
});
</script>
这是HTML
<table width="620" border="1">
<tr>
<td> </td>
<td style="width:40%"> Memebers $40 </td>
<td style="width:40%"> Each guest $45 </td>
</tr>
<tr>
<td><input name="breakfast1" type="checkbox" value="breakfast1" tabindex="0" /></td>
<td>September 12, 2012</td>
<td style="width:50%">How many guests
<input type="text" maxlength="2" size="3" id="1guest" name="1guest" tabindex="1" />
</td>
</tr>
<tr style="display:none">
<td colspan="2"> </td>
<td>
<textarea class="guests" style="width:300px;" id="1mguests" name="1mguests" rows="4" tabindex="2"> </textarea>
<br /><span></span>
</td>
</tr> </table> and so on<br/>
我想完成什么:
当从1guest文本字段中跳出来时,检查输入字段是否有内容,如果有,取消隐藏(显示)下一个tr,并将焦点设置为该tr中的文本区域。
问题是什么:
当在1guest输入字段中输入guest的数量并从中按TAB键时,隐藏的tr显示OK,tr中的文本区域输入会得到class。focus BUT不会得到foucs。可能是什么问题?是因为TAB是在焦点之后应用的,因此进入下一个输入字段吗?
无论如何,你能为我试图实现的目标提出一个解决方案吗?
谢谢