JavaScript の素人なもので連続の質問となってしまいました。
下記のように field1 の値を参照し、
selectでの選択肢毎に決められた数値を field2 に表示したいのですが、
どういったscriptにすれば良いか、どなたかご教示をお願い致します。
┏━━━━━┓
┃ 例) 150 ┃(必ず1以上の数字が自動で入るinput="text" name="field1")
┗━━━━━┛
(↓ select)
┏━━━━━━┓ ┏━━━━━┓
┃ 例) イ ▼┃ ┃ 例) B ┃(結果を表示させたいinput="text" name="field2" )
┗━━━━━━┛ ┗━━━━━┛
│ イ │
│ ロ │
│ ハ │
└──┘
(select での選択肢)
│ イ │ ロ │ ハ │ 二
(field1値) │ │ │ │
1 ~100 │ A │ F │ J │ O
101~200 │ B │ G │ K │ P
201~300 │ C │ H │ L │ Q
301~400 │ D │ I │ M │ R
401~500 │ E │ H │ N │ S
※実装する際にはA~Sは数値になります。
以下に素人ながらのソースを記します。
<script type="text/javascript">
<!--
function selectarea(text) {
var total = document.form1.field1.value;
var choise = document.getElementById("area");
document.form1.field2.value = text;
}
// -->
</script>
<form action="" name="form1">
<table>
<tr><td><input type="text" name="field1" size="30" value="150"></td></tr>
<tr><td>
<select id="area" onChange="selectarea(this[this.selectedIndex].value)">
<option selected="selected">選択して下さい</option>
<option value="イ">イ</option>
<option value="ロ">ロ</option>
<option value="ハ">ハ</option>
<option value="二">二</option>
</select>
</td></tr>
<tr><td><input type="text" name="field2" size="30"></td></tr>
</table>
</form>
No.3ベストアンサー
- 回答日時:
・ 未完成ですが、以下のコードを参考にしてみてください。
------------------------------------------------------------
<html>
<head>
<script type="text/javascript">
<!--
var i;
var values = [ [1,2,3,4],
[101,102,103,104]
];
function selectarea(index) {
var total = document.form1.field1.value;
if ( total<=100 ) { i=0;
} else if ( total<=200 ) { i=1;
} else if ( total<=300 ) { i=2;
} else if ( total<=400 ) { i=3;
} else { i=4;
}
document.form1.field2.value = values[i][index];
}
function resetAll() {
document.getElementById("area").selectedIndex = 0;
document.form1.field2.value = "";
}
// -->
</script>
</head>
<body>
<form action="" name="form1">
<table>
<tr>
<td>
<input type="text" name="field1" size="30" value="150" onChange="resetAll()">
</td>
</tr>
<tr>
<td>
<select id="area"
onChange="selectarea(this[this.selectedIndex].value)">
<option selected="selected">
選択して下さい
</option>
<option value="0">イ</option>
<option value="1">ロ</option>
<option value="2">ハ</option>
<option value="3">二</option>
</select>
</td>
</tr>
<tr>
<td>
<input type="text" name="field2" size="30">
</td>
</tr>
</table>
</form>
</body>
</html>
この回答への補足
HIRSYU様、auty様 有難う御座いました。
無事動かす事が出来ました。
お二人のように他の方の質問に答える事ができるように
勉強を重ねたいと思います^^
有難う御座いました。ぺこ <(_ _)>
auty様、ご厚意有難う御座います。^^
全てを理解するのは難しい程度の私のスキルですが、
選択肢が増えたりしても対応出来そうな感じがします・・・。
テストしてみてからのお礼では時間がかかってしまいそうなので、
先ずはお礼まで・・・ぺこ <(_ _)>
有難う御座いました。
No.2
- 回答日時:
>ANo.1です
ANo.1で回答したソースは、0以下だとfield2がクリアするが、501以上だと、field2を変更しないって、中途半端な仕様になってますのでご注意を。
No.1
- 回答日時:
連想配列を使用して、表示したい一覧表を作成した。
表示したい一覧表の行の最大値をキーとした連想配列を作成し、その中身に表示したい列(イロハ)をキーとした連想配列を入れる。
後は比較などをして、目的の値をテキストボックスへ。
-- JavaScript --
var list = {
0 : {"イ":"", "ロ":"", "ハ":"", "ニ":""},
100 : {"イ":"A", "ロ":"F", "ハ":"J", "ニ":"O"},
200 : {"イ":"B", "ロ":"G", "ハ":"K", "ニ":"P"},
300 : {"イ":"C", "ロ":"H", "ハ":"L", "ニ":"Q"},
400 : {"イ":"D", "ロ":"I", "ハ":"M", "ニ":"R"},
500 : {"イ":"E", "ロ":"H", "ハ":"N", "ニ":"S"},
};
function selectarea(text) {
var total = document.form1.field1.value;
if(text.length == 0){
return;
}
for(key in list){
if(key >= total){
document.form1.field2.value = list[key][text];
break;
}
}
}
-- HTML(1行だけ変更) --
<option value="" selected="selected">選択して下さい</option>
HIRSYU様、ご厚意有難う御座います。^^
scriptの内容を理解するのは難しい程の私ですが、
何となくの理論の流れはイメージ出来ました。
力不足なためテストするまでも時間がかかりそうなので、
先ずはお礼まで・・・ぺこ <(_ _)>
有難う御座いました。。。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
<input>の選択肢をプルダウンメ...
-
プルダウン選択を変更すると、...
-
JavascriptからSQLへ繋ぎ方が分...
-
selectを変更不可にしたい
-
3つのselectでURLパラメータを...
-
連想配列を使ってコンボボック...
-
hiddenに値を設定する方法
-
全てのselect要素をデフォルト...
-
console.logがどうしても2つ機...
-
javascriptでoptionタグを削除...
-
selectの初期値を設定したい
-
selectが変更されたらnameを指...
-
Selectボックスの一覧表示方法
-
まったく同じ<select>フォーム...
-
ラジオボタンの選択に応じてプ...
-
JavaScriptで<select>の<option...
-
selectボックスの選択結果を変...
-
セレクトメニューの値をクッキ...
-
セレクトボックスで配列を呼び...
-
javascript:データを日本語で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プルダウン選択を変更すると、...
-
全てのselect要素をデフォルト...
-
【JS】selectでchangeした時の...
-
javascriptでセレクトボックス...
-
Selectボックスの一覧表示方法
-
複数のプルダウンを1つにまとめ...
-
コードレビューをお願いします。
-
JavaScriptで<select>の<option...
-
<input>の選択肢をプルダウンメ...
-
select要素のvalueを配列で取得...
-
selectを変更不可にしたい
-
VBScriptでHTMLのセレクトボッ...
-
ラジオボタンとプルダウンを連...
-
javascriptで合計金額を算出し...
-
中百舌鳥駅と深井駅を入れ替え...
-
同じ名前のセレクトがある場合...
-
セレクトボックスで配列を呼び...
-
今日の日付を自動的にセレクト...
-
プルダウンの値によって活性・...
-
サイト内の物件を複数の検索条...
おすすめ情報