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

相关问题