如何使用一些动态类获取输入的最后一个值?

时间:2015-09-24 14:30:11

标签: javascript jquery html

我有多个输入和一个按钮。当我单击按钮时,第一次输入的活动类转到下一个输入。我想要做的是在点击按钮后获取该类的先前输入的值。

怎么做?

$('.question').prev('.selected input').val();
<form action="final.php" method="post">
  <input name="intr_id" value="0" type="hidden">
  <p class="question selected" id="intreb_1">
    <input name="intr1" value="" type="hidden">Lorem ipsum dolor sit amet, consectetur adipiscing elit?</p>
  <p class="question " id="intreb_2">
    <input name="intr2" value="" type="hidden">Sed tempus hendrerit orci, sed interdum quam rhoncus quis?</p>
  <p class="question " id="intreb_3">
    <input name="intr3" value="" type="hidden">Interdum et malesuada fames ac ante ipsum primis in faucibus?</p>
  <p class="question " id="intreb_4">
    <input name="intr4" value="" type="hidden">Suspendisse hendrerit, nibh eu fringilla finibus, lacus lectus elementum nunc, sed molestie sapien orci id erat?</p>
  <p class="question " id="intreb_5">
    <input name="intr5" value="" type="hidden">Sed tempus hendrerit orci, sed interdum quam rhoncus quis?</p>
  <p class="question " id="intreb_6">
    <input name="intr6" value="" type="hidden">Interdum et malesuada fames ac ante ipsum primis in faucibus?</p>
  <p class="question " id="intreb_7">
    <input name="intr7" value="" type="hidden">Lorem ipsum dolor sit amet, consectetur adipiscing elit?</p>
  <p class="question " id="intreb_8">
    <input name="intr8" value="" type="hidden">Sed tempus hendrerit orci, sed interdum quam rhoncus quis?</p>
  <p class="question " id="intreb_9">
    <input name="intr9" value="" type="hidden">Interdum et malesuada fames ac ante ipsum primis in faucibus?</p>
  <p class="question  last" id="intreb_10">
    <input name="intr10" value="" type="hidden">Lorem ipsum dolor sit amet, consectetur adipiscing elit?</p>
  <div class="answer_buttons">
    <a class="nu" href="">No</a>
    <a class="da" href="">Yes</a>
  </div>
</form>

2 个答案:

答案 0 :(得分:1)

所以,如果我的理解是正确的,你有:

Input 1, wrapped by some container
Input 2 wrapped by some container

填充输入1后,输入2容器会获得一个“选定”类,此时,您想要查看输入1的值是什么?

首先,请记住,这是一个糟糕的解决方案设计,因为您的业务逻辑与您的演示文稿混在一起(并且依赖!)。

最简单的方法是让两个容器都有一些类似“input-field-container”的泛型类。这样,在选择了第二个容器之后,它的类将是“input-field-container selected”。然后,使用jQuery,您将拥有:

$(".input-field-container.selected")
    .prev(".input-field-container")
        .children("input").first().val()

请注意,如果实际输入包装在容器和输入之间的中间元素中,则可能必须使用find替换子项。

翻译:获取选定的容器,然后获取其上方的第一个容器,然后获取其第一个子输入并获取其值。

同样,这是一个糟糕的方法 - 输入的值应该与应该处理它们的模型同步,并且它不应该依赖于这样的逻辑。

答案 1 :(得分:0)

在将类传输到下一个输入的代码之前添加var val = $(".question.selected input[type='hidden']").val()将获得值。