2016-10-25 2 views
0

Я использую Knockout js для привязки, я хочу получить идентификатор дочернего элемента, когда я устанавливаю флажок, мой родительский идентификатор генерируется уникальным идентификатором, как достичь этогополучить конкретный идентификатор дочернего элемента с помощью флажка

//this div is inside the for each loop 

<div data-bind="attr: { id: 'unique_' + $index()},fav: ({item:someItem})" class="Tab"> 

// i need to get this itemIDs when i selecte the check box 
    <div id=randon_item1><div> 
    <div id=random_item2><div> 
    <div id=random_item3><div> 
    <div id=random_item4><div> 
    </div> 
    <input id="ckh1" type="checkbox" data-bind="value:userId(), click:  $root.toggleAssociation" /> 


//toggleAssociation// 
self.toggleAssociation = function (item, event) { 
here i am getting the item and all parent div with unique_0 ID which will be incremented for others div 
how i can get child element ID which is generated randomly 
} 

ответ

0

Я незнаком с knockout.js, но, похоже, у вас есть некоторые опечатки в атрибутах id дочерних элементов, и вы можете захотеть скрыть этот флажок в родительском div классом «Tab» следующим образом:

<div data-bind="attr: { id: 'unique_' + $index()}, fav: ({item:someItem})" class="Tab"> 

    <div id="random_item1"></div> 
    <div id="random_item2"></div> 
    <div id="random_item3"></div> 
    <div id="random_item3"></div> 

    <input id="chk1" type="checkbox" data-bind="value:userId(), click: $root.toggleAssociation" /> 

</div> 

Тогда ваша функция:

self.toggleAssociation = function (item, event) { 
    alert(event.target.parentNode.id); 
} 

или JQuery:

self.toggleAssociation = function (item, event) { 
    alert($(event).parent().attr(id)); 
} 

, если вы хотите, чтобы каждый из этих "random_item" идентификаторами, то вы можете перебирать их в функции self.toggleAssociation:

$(event).siblings('div').each(function(){ 
    alert($(this).attr('id')); 
}); 
+0

Да, я исправил, что , Я переписал все и пропустил их. Благодарю. – LegenJerry

+0

@thanks для вашего времени], это действительно решило мои проблемы – Nikil

Смежные вопросы