2017-01-09 14 views
-1

ユーザー選択を変数に格納する方法はありますか?ユーザー選択とデータの保存

たとえば、a = 1、b = 2、c = 3です。これらの値を2ずつ増やすオプションがあります。オプション1はデフォルト値です。オプション2は、a = 3、b = 4、c = 5である。オプション3は、a = 5、b = 6、c = 7である。等々。

ユーザーがオプションを変更するたびにこれらの値を保存する必要があります。私は、各オプションが表すハードコーディングされた値を必要としません。私は現在の値に基づいて計算を使いたいです。例えば、オプション2からオプション6に進むには、4つのオプションに基づいて計算する必要があります。オプション6だけがa = 11、b = 12、c = 13に等しくなるわけではありません。

最も重要なのは、現在選択されているオプションを変数に格納する必要があるため、次のオプションが現在選択されているオプションよりも大きいか小さいかがわかります。

たとえば、i = 0、ユーザーがオプション3を選択した場合、i = selectedIndex(2)。これを知ることで、「nextSelectionがi、a、b、cより小さい場合は、それぞれの値に等しい」というコードを作成する必要があります。ユーザがオプション4を選択し、オプション2を選択すると、a、b、cが4だけ減少する。ユーザがオプション4を選択してオプション6を選択すると、a、b、cは4ずつ増加する。

I '何かを試しました

var i = 0 

if(test.selectedIndex >= i){ 
    a = a + (selectedIndex + 1) * 2 
    *same with b and c and so on* 

    i = selectedIndex 
} 

問題は「i」はオプションの変更時に0のままです。オプション2〜4は現在の値を4だけインクリメントし、(selectedIndex + 1)* 2はオプション4を8だけインクリメントするため、オプション2から4に移動すると問題になります。

+1

入力と出力の例をいくつか追加してください。 –

+0

btw、配列やオブジェクトのような、より良いデータ構造が必要なようです。 –

+0

オプション2を選択するよりも、オプション3を選択するよりも、オプション1を選択するなど、現在の選択よりも大きいか小さい選択肢をユーザが選択したかどうかを知るための他の例はわかりません。 – Roger

答えて

0

たとえば、ドロップダウンリストがある場合は、

を使用できます。_SelectedIndexは、選択したアイテムのインデックスになります。 前回選択したインデックスを一時変数に格納したり、Cookieを使用したりすることができます。

+0

次の選択が現在の選択よりも大きいかどうかを確認するにはどうすればよいですか?オプション1がオプション2よりも小さく、オプション3がオプション2よりも大きいことを考えると、私はこれを達成するためにループを使うことができます。 – Roger

+0

一度に2つのインデックスを選択することはできませんので、前回選択したインデックスをローカルメモリに保存し、選択ごとに更新することができます。 –

+0

これはまさに私の元の質問です。ユーザーの選択を保存する方法。 "i"変数を使用してselectedIndexを格納し、次に "i"より大きいか小さい次のselectedIndexに基づいて何かを実行するようにします。これを達成するためにループが必要でしょうか? – Roger

関連する問題