javascript - 使用挖空在按钮后添加更多输入字段

标签 javascript jquery html knockout.js

所以我已经显示了两个输入字段,用户可以在其中输入信息。我还有另一个按钮“添加”,允许用户添加另一组两个输入字段来输入数据。

这是我当前的 View ,但我需要将添加输入字段的功能添加到我的 viewModel 中,以便在用户单击时可用。

jsFiddle of html

我想添加点击添加按钮的功能,比如:

self.addName = function(){//return new input fields to user}

在我的 html 中我会有 <a href="#" onclick="addName()">

最佳答案

问题是,您需要在数组中包含可观察对象以绑定(bind)到多个输入。 你这样做:

<div class="addNames">
    <!-- ko foreach: ViewModel.values -->
    <div class="fname" >
        <input data-bind="value: $data.value" placeholder="Add your fname..." contenteditable/>
    </div>
    <!-- /ko -->
</div>
<div class="addBtn">
    <a data-bind="click: ViewModel.addValue"> Add Name</a>
</div>

和 JS:

 ViewModel = {
        values: ko.observableArray([
            {value: ko.observable('initial value')}
        ]),
        addValue: function(){
            ViewModel.values.push({ value: ko.observable('')});
            ViewModel.values().forEach(function(data){
                console.log(data.value());
            });
        }
    }

    ko.applyBindings(); 

https://jsfiddle.net/x5wu7gsy/

关于javascript - 使用挖空在按钮后添加更多输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33254278/

相关文章:

javascript - 0x800a01b6 - JavaScript 运行时错误 : Object doesn't support property or method 'tabs'

javascript - 如何将邮政编码转换为 GeoJSON

javascript - Kendo Ui 网格计算并在文本框中显示总价之和

javascript - Chrome 中的打印问题

html - 当我从表单提交时,哪些数据会发送到服务器?

html - ionic 3 html 按钮链接到 .ts 中的函数,但表示它未定义

javascript - 在新机器上启动 Ember 项目时出错 : Unexpected token import, define is not defined

javascript - 就声明而言,Javascript 中 for of 循环中的 let 和 const 之间没有区别吗?

javascript - Bootstrap 工具提示在第二次鼠标悬停时立即显示

javascript - 在 Javascript 和/或 jQuery 中,如何在包装的 div 中获取第一行文本