2015-02-17 4 views
0

со ссылкой ниже скрипкой: enter link description hereKnockoutJs шаблона и событие связывание

<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")); 

Теперь к элементу списка, мне нужно добавить класс на основе некоторых яваскрипт логики. Например, у нас есть elementArray1 = [100, 200, 300], elementArray2 = [500, 800, 800] ElementSearch = некоторый случайный номер. Если это случайное число находится в любом из этих двух elementArray, нам нужно добавить класс «активирован» в список пункт.

ответ

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")); 
Смежные вопросы