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 月) より前のため、編集できません。したがって、10 月、11 月、12 月は編集可能です。ユーザーが 10 月を編集した場合、次のアクティブな入力を動的に取得したいと考えています。ここで、システムの自動バランスをとるために変更を加えます。

また、次の月と前の月のどちらをオートバランスの対象にするかを設定するインジケーターもページにあります。

例: インジケーターが DOWNWARDS の場合

  • ユーザーが Oct を編集する場合、Nov の ID とその値を知りたいです。
  • ユーザーが Nov を編集する場合、Dec の ID とその値を知りたいです。
  • ユーザーが Dec を編集する場合、Oct の ID とその値を知りたいです。

指標が UPWARDS の場合

  • ユーザーが Oct を編集する場合、Dec の ID とその値を知りたいです。
  • ユーザーが Nov を編集する場合、Oct の ID とその値を知りたいです。
  • ユーザーが Dec を編集する場合、Nov の ID とその値を知りたいです。

jQuery を使用して、NEXT または PREVIOUS 入力の名前と値を動的に取得するにはどうすればよいですか? WHERE CLASS は「アクティブ」です。

すなわち:

<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 に答える