javascript – 动态生成元素的敲除绑定

前端之家收集整理的这篇文章主要介绍了javascript – 动态生成元素的敲除绑定前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用Knockout.js,我在这方面很新.我创建了一个 Example to my problem.在这里我试图将knockout绑定绑定到动态生成的元素.但是绑定不适用于动态生成的元素.

我正在尝试将输入文本字段与label元素同步.因此无论我们在输入字段中输入什么内容,相同的文本都会反映在其相应的标签元素中如果我不清楚我的问题,请原谅我,请让我通关.帮帮我们?谢谢.

解决方法

在您的代码中,您没有使用knockout的主要功能之一 – 自动生成html.而不是使用jQuery添加新行 – 使用knockout foreach绑定与observableArray.当你向数组添加新项目时,knockout会自动生成html标记.

使用Javascript:

function Courseviewmodel(){
    var self = this;
    self.textValue = ko.observable('');
}

function Ceremonyviewmodel() {
    var self = this;

    self.cources = ko.observableArray([new Courseviewmodel()]);

    self.addCourse = function(){
        self.cources.push(new Courseviewmodel());
    };
}

ko.applyBindings(new Ceremonyviewmodel());

HTML:

<div id="menutab">
    <form id="createMForm">
        <input type="button" id="createmenu" value="Add menu" data-bind="click: addCourse"/>
        <div class="menu">
            <table data-bind="foreach: cources" class="ui-widget ui-widget-content" >
                <tr>
                    <td>
                        <label for="CourseName">CourseName</label>
                    </td>
                    <td>
                        <input type="text"  data-bind="value: textValue,valueUpdate:'keyup'" class="CreateCourseName" name="CourseName" />
                    </td>
                </tr>
            </table>
        </div>
    </form>
</div>
<div id="courSEOptiontab">
    <form id="createCOForm">
        <div class="options">
            <table data-bind="foreach: cources" class="ui-widget ui-widget-content">
                <tr>
                    <td>
                        <label class="colabel">Course Name
                            <span class="forcourse" data-bind="text: textValue"></span>
                        </label>
                    </td>
                </tr>
          </table>
       </div>
    </form>
<div>

这是工作小提琴:http://jsfiddle.net/vyshniakov/g5vxr/

猜你在找的JavaScript相关文章