同じモーダル ウィンドウをポップアップする 2 つのボタンがありますが、モーダル ウィンドウ内に別のタブを表示します。各タブには、多数の入力があるフォームがあります。私の問題はFocus()
、モーダル内の 2 つのタブのいずれかで最初のフォーム入力を取得することです。
これは私がこれまでに持っているものです(不要なコードをいくつか省略しています):
コーヒースクリプト:
# 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 に変換します。
どんな助けでも大歓迎です、ありがとう。