2013-03-15 60 views
1

我有以下代碼:如何隔離這個計數每個字段的枚舉器?

countSetNumbers = -> 
    for field, i in $(".exercise .nested-fields") 
    set = $(field).find('.set') 
    set.html(i+1) 

的問題是我有多個.exercise div的,而是每次運動式#的量被孤立...它計算所有的練習一起作爲一個塊。所以如果練習1有3套,而練習2有1個。第一套練習2將被標記爲4。我如何做到這一點,因此每一個都是獨一無二的?

回答

1

你的問題是,你糖化所有.nested-fields元素融入其中樁時,你說:

$(".exercise .nested-fields") 

您需要單獨考慮每個.exercise。一個簡單的方法來做到這一點是一半打破了選擇和使用嵌套循環:

countSetNumbers = -> 
    for ex in $('.exercise') 
    for nf, i in $(ex).find('.nested-fields') 
     $(nf).find('.set').html(i + 1) 

,它假定一個HTML的結構是這樣的:

<div class="exercise"> 
    <div class="nested-fields"> 
     <div class="set"></div> 
    </div> 
    <!--...--> 
</div> 
<!--...--> 

演示:http://jsfiddle.net/ambiguous/LekpV/

你也可以做到jQuery風格:

countSetNumbers = -> 
    $('.exercise').each -> 
    $(@).find('.nested-fields').each (i) -> 
     $(@).find('.set').html(i + 1) 

演示:http://jsfiddle.net/ambiguous/Au7rs/1/

+0

非常感謝。我很感激。 – 2013-03-15 13:56:29

相關問題