添加到数组/集合后,KnockoutJS设置焦点

Ric*_*der 2 javascript knockout.js

我有一个带有一系列诊断代码的viewmodel.在我的html中,我有一个按钮数据绑定到一个单击,向数组添加一个空白的诊断代码.这一切都有效.

我无法弄清楚的是,当添加代码时,如何将焦点设置为动态添加的文本框.我可以添加什么:

<h3>Diagnosis Codes<input type="button" value="Add" data-bind="click:AddDiagnosisCode"/></h3>
<div data-bind="foreach:DiagnosisCodes">
    <div><input type="text"  data-bind="value:$data"/>
    </div>
</div>

<script type="text/javascript">
    function AddDiagnosisCode(item)
    {
        item.DiagnosisCodes.push("");
    }

    var vm = {
       "DiagnosisCodes": ["2345","6789"]
    };

    var viewModel = ko.mapping.fromJS(vm);     
     ko.applyBindings(viewModel);
</script>
Run Code Online (Sandbox Code Playgroud)

Los*_*ter 10

使用内置绑定hasFocus并将其设置为true

<input type="text" data-bind="value:$data, hasFocus: true">
Run Code Online (Sandbox Code Playgroud)

见http://jsfiddle.net/eT3Y8/