我有两个按钮弹出相同的模态窗口,但在模态窗口中显示不同的选项卡。每个选项卡中都有一个带有多个输入的表单。我的问题是Focus()
在模态框内的两个选项卡中的任何一个中获取第一个表单输入。
这是我到目前为止所拥有的(我省略了一些不必要的代码):
咖啡脚本:
# Triggers when a modal tab is shown
$ ->
$('a[data-toggle="tab"]').bind 'shown', (event) =>
$(this).closest('input').focus()
# Further info:
# event.target = activated tab. alert event.target returns 'http://localhost:3000/#tab-1'
# event.relatedTarget = previous tab. alert event.target returns 'http://localhost:3000/#tab-2'
HTML:
<a href="#modal" id="tab-1-btn">Tab 1 Button</a>
<a href="#modal" id="tab-2-btn">Tab 2 Button</a>
<div class="modal" id="myModal">
<div class="modal-body">
<ul class="nav nav-tabs" id="tabs">
<li class="active"><a href="#home">Home</a></li>
<li><a href="#profile">Profile</a></li>
</ul>
<div class="tab-content" id="tabs">
<div id="tab-1" class="tab-pane">
<form id="tab-1-form">
<input name="tab-1-input" />
</form>
</div>
<div id="tab-2" class="tab-pane">
<form id="tab-2-form">
<input name="tab-2-input" />
</form>
</div>
</div>
</div>
</div>
参考:
- 模态:http: //twitter.github.com/bootstrap/javascript.html#modals
- 标签:http: //twitter.github.com/bootstrap/javascript.html#tabs
我也对 jQuery 或 Javascript 解决方案持开放态度,如有必要,我会自己将它们转换为 CoffeeScript。
任何帮助将不胜感激,谢谢。