KnockoutJs模板和事件绑定

时间:2015-02-17 22:47:16

标签: knockout.js

参考下面的小提琴: enter link description here

<div id="test">
    <li>gokul</li>
</div>

<script id="someTemplate" type="text/html">
        <li data-bind="text: name"></li>
</script>


var data = [ { name: "one" }, { name: "two" } ];

var element = document.getElementById("test");
var startForEach = document.createComment("ko template: {name: 'someTemplate', foreach: $data }");
var endForEach = document.createComment("/ko");

element.appendChild(startForEach);
element.appendChild(endForEach);

ko.applyBindings(data, document.getElementById("test"));

现在到列表项,我需要添加一个基于一些javascript逻辑的类。例如,我们有elementArray1 = [100,200,300],elementArray2 = [500,800,800] ElementSearch =一些随机数如果这个随机数在这两个elementArray的任何一个中,我们需要在列表中添加“激活”类项目

1 个答案:

答案 0 :(得分:0)

<div id="20" data-pid="400">
<div id="test">
    <li>gokul</li>
    </div></div>

<script id="someTemplate" type="text/html">
        <li data-bind="text: name"></li>
</script>


var data = [ { name: "one" }, { name: "two" } ];
data.myPostProcessingLogic = function (element) {
    val=$(element).parent().parent().attr('data-pid');
    if(val==400){
    $(element).addClass('hello');
        console.log($(element));
    }
};
var element = document.getElementById("test");
var startForEach = document.createComment("ko template: {name: 'someTemplate', foreach: $data, afterRender: myPostProcessingLogic }");
var endForEach = document.createComment("/ko");

element.appendChild(startForEach);
element.appendChild(endForEach);

ko.applyBindings(data, document.getElementById("test"));
相关问题