2013-11-27 24 views
1

我有一個窗體,其中應用了'If'綁定和一些輸入控件。所以它看起來與此類似:當'If'綁定表達式變爲真時設置默認焦點

<form data-bind="if: MyExpression"> 
    <input id="input1" class="autofocus"></input> 
    <input id="input2"></input> 
    <input id="input3"></input> 
</form> 

現在,我想將焦點設置與「自動對焦」級的輸入,只要「MyExpression」變成真實的形式顯示出來在屏幕上。 任何想法如何實現?

我想這個至今:

this.MyExpression.subscribe(function (isTrue) { 
    if (isTrue) { 
     $('.autofocus').focus(); 
    } 
}); 

,但沒有奏效。

感謝您的任何幫助。

回答

3

您可以在第一次輸入使用hasfocus binding

<form data-bind="if: MyExpression"> 
    <input id="input1" data-bind="hasfocus: true"></input> 
    <input id="input2"></input> 
    <input id="input3"></input> 
</form> 

演示JSFiddle

+0

工程就像一個魅力。謝謝。 –