0
Aug: <input type="text" value="100000" name="targetMonth_8" id="targetMonth_8" class="targetMonth" disabled>
Sep: <input type="text" value="100000" name="targetMonth_9" id="targetMonth_9" class="targetMonth" disabled>
Oct: <input type="text" value="100000" name="targetMonth_10" id="targetMonth_10" class="targetMonth active">
Nov: <input type="text" value="100000" name="targetMonth_11" id="targetMonth_11" class="targetMonth active">
Dec: <input type="text" value="100000" name="targetMonth_12" id="targetMonth_12" class="targetMonth active">

出于本演示的目的,假设当前月份是 10 月。AUG/SEP 不可编辑,因为它早于当前月份(10 月)。因此,十月、十一月和十二月是可编辑的。如果用户编辑十月,我想动态获取下一个活动输入,我将在其中进行更改以自动平衡系统。

我在页面上还有一个指示器来设置下一个月还是上一个月是自动平衡的目标。

例如: 如果指标向下,则

  • 如果用户编辑 Oct,我想知道 Nov 的 id 及其值。
  • 如果用户编辑 Nov,我想知道 Dec 的 id 及其值。
  • 如果用户编辑 Dec,我想知道 Oct 的 id 及其值。

如果指示器向上,则

  • 如果用户编辑 Oct,我想知道 Dec 的 id 及其值。
  • 如果用户编辑 Nov,我想知道 Oct 的 id 及其值。
  • 如果用户编辑 12 月,我想知道 11 月的 id 及其值。

我将如何使用 jQuery 动态获取 NEXT 或 PREVIOUS 输入 WHERE CLASS 为“活动”的名称和值?

IE:

<script>
$('#targetMonth_{$monthNumber}').keyup(function() {
  balanceDirection = $('#balanceDirectionValue').val();
  if (balanceDirection=='down') {
    balanceInputID = <next input's ID>;
    balanceInputValue = <next input's value>;
  }
  if (balanceDirection=='up') {
    balanceInputID = <previous input's ID>;
    balanceInputValue = <previous input's value>;
  }
}
</script>

我试过使用:

$('#targetMonth_{$monthNumber}').nextAll('.active').val()

类似的东西,我不确定...请协助。如果可以通过其他方式完成,我愿意进行更改。

4

1 回答 1

0

是的,这应该工作:

the_val = $('#targetMonth_{$monthNumber}').nextAll('.active').val();
the_id = $('#targetMonth_{$monthNumber}').nextAll('.active').attr('id');

这些变量可能是数组

于 2012-11-14T10:34:41.030 回答