代码之家  ›  专栏  ›  技术社区  ›  alex

如何使用jquery获取此元素的索引?

  •  5
  • alex  · 技术社区  · 16 年前

    我正在尝试使用jquery获取元素的索引以发送到PHP脚本。

    这是我的XHTML

    <form action="/accreditation/questions/" method="post" id="questions-form">
      <fieldset id="question-0">
        <legend>Question</legend>
        <h3>What colour is grass?</h3>    
        <ul>
          <li>
            <input type="radio" name="answer[0]" value="0" id="radio-0-0" />
            <label for="radio-0-0">Green</label>
          </li>
          <li>
            <input type="radio" name="answer[0]" value="1" id="radio-0-1" />
            <label for="radio-0-1">Red</label>
          </li>
          <li>
            <input type="radio" name="answer[0]" value="2" id="radio-0-2" />
            <label for="radio-0-2">Orange</label>
          </li>
        </ul>
      </fieldset>
      <fieldset id="question-1">
        <legend>Question</legend>
        <h3>how old is alex</h3>    
        <ul>
          <li>
            <input type="radio" name="answer[1]" value="0" id="radio-1-0" />
            <label for="radio-1-0">21</label>
          </li>
          <li>
            <input type="radio" name="answer[1]" value="1" id="radio-1-1" />
            <label for="radio-1-1">11</label>
          </li>
          <li>
            <input type="radio" name="answer[1]" value="2" id="radio-1-2" />
            <label for="radio-1-2">23</label>
          </li>
        </ul>
      </fieldset>
    </form>
    

    我需要得到fieldset元素的索引。我目前正在使用每个迭代器(我不想更改它,因为它里面有很多其他函数)。

    $('#questions-form ul li').each(function() {
        qIndex = $('fieldset').index($('fieldset', $(this).parent()))
    });
    

    我希望qindex是字段集相对于窗体的索引。例如,在这种情况下,我应该让它等于0和1(尽管会有6个值,因为它在列表元素中循环)。

    我已经玩了一段时间了,无法得到正确的索引。我一直找不到(-1)。

    如果有用的话,这里是我用来获取列表项的索引(相对于它包含的ul元素)的代码。

    index = $('li', $(this).parent()).index(this);
    

    我的字段集索引捕获代码有什么问题?

    2 回复  |  直到 11 年前
        1
  •  16
  •   Zuul KrapocK    11 年前

    这个 LI 的父母是 UL 而不是 fieldset .
    我想这个会好的 qIndex 为你:

    qIndex = $('fieldset').index($(this).parents('fieldset'));
    
        2
  •  3
  •   Zuul KrapocK    11 年前

    您还可以使用以下方法获取索引:

    $("form fieldset").each(function(I) { 
        console.log("fieldset index"+ I);
    });