ASPでテキスト項目と選択項目(プルダウン)項目の2つがあり、相互に入力内容を反映してもう一方の値を変更するプログラムを作りたいのですが、方法がわかりません。
例)
<script language="javaScript">
<!--
function pfncInpChg(){
var frm = document.formas[0];
▲▲▲▲▲▲▲▲▲▲
}
function pfncSelChg(){
var frm = document.formas[0];
frm.inptxt.value = frm.inpSel.options[frm.inpSel.selectedIndex].value;
}
//-->
</script>
<input type=text name=inpTxt onChange="pfncInpChg()">
<select name=inpSel onChange="pfncSelChg()">
<option value="01">月</option>
<option value="02">火</option>
<option value="03">水</option>
<option value="04">木</option>
<option value="05">金</option>
</select>
選択項目を変更した際にテキスト項目に設定することは出来ます。
逆にテキスト項目に値を入力した時の選択項目のOPTIONを変更する方法がわかりません。
不明な点は▲~▲の部分です。
focus()やselectedではないのは試してみて判りました。
また、表示段階で選択する場合にはOPTIONにselectedを記述する事もわかります。
動的に変更する方法があれば教えていただきたいです。
No.5ベストアンサー
- 回答日時:
#1です。
>selectedIndexは参照のみではないのでしょうか?
>値を設定しようとしたらエラーになったのですが...
値の設定の仕方がまちがっていたのだと思いますが・・・
こんな感じでエラーはでませんよね?
<script language="javaScript">
function pfncInpChg(obj){
var s=obj.form.inpSel;
for (var i=0;i<s.length;i++){
if(s[i].value==obj.value){
s.selectedIndex=i;
break;
}
}
}
function pfncSelChg(obj){
obj.form.inpTxt.value = obj.value;
}
</script>
<form>
<input type=text name=inpTxt onChange="pfncInpChg(this)">
<select name=inpSel onChange="pfncSelChg(this)">
<option value="01">月</option>
<option value="02">火</option>
<option value="03">水</option>
<option value="04">木</option>
<option value="05">金</option>
</select>
</form>
やはり『selectedIndex』を設定するやり方が妥当なようですね。
勘違いしていたようです。m(_ _)m
上手く出来ました。有難うございました(^^A;)
No.4
- 回答日時:
<script language="javaScript">
<!--
function test(f){
var form = document.forms[0];
var input = form.elements[0];
var select = form.elements[1];
if(f == input){
for(var i = 0;i < select.length;i++){
if(select[i].value == input.value){
//if(select[i].text == input.value){
select.selectedIndex = i;
break;
}
}
}else if(f == select){
input.value = select.value;
//input.value = select.text;
}
}
//-->
</script>
</head>
<body>
<form>
<input type=text onkeyup="test(this)">
<select onChange="test(this)">
<option value="01">月</option>
<option value="02">火</option>
<option value="03">水</option>
<option value="04">木</option>
<option value="05">金</option>
</select>
</form>
No.3
- 回答日時:
No.2の者です。
テキストボックスに入力した内容がセレクトボックスに存在する場合、その項目(<option>)を選択した状態にするということでしょうか。
そうする場合は以下のような感じになります。
<script language="javaScript">
<!--
function pfncInpChg(){
var frm = document.forms[0];
for(i=0;i<frm.inpSel.length;i++){
if(frm.inpSel.options[i].value==frm.inpTxt.value){//<option>の値で評価する場合(01,02・・)
//if(frm.inpSel.options[i].text==frm.inpTxt.value){ <option>のラベルで評価する場合(月,火・・)
frm.inpSel.options[i].selected=true;
}
}
}
function pfncSelChg(){
var frm = document.forms[0];
frm.inpTxt.value = frm.inpSel.options[frm.inpSel.selectedIndex].value;
}
//-->
</script>
<form><input type="text" name="inpTxt" onkeyup="pfncInpChg()"> <select name="inpSel" onchange="pfncSelChg()">
<option value="01">月 </option>
<option value="02">火 </option>
<option value="03">水 </option>
<option value="04">木 </option>
<option value="05">金 </option>
</select></form>
これでもまだあまり自信ないですが・・。
補足で、<input type="text">のイベントハンドラは「onkeyup=""」が適切かと思います。
No.2
- 回答日時:
こういうことですか?
<script language="javaScript">
<!--
function pfncInpChg(){
var frm = document.forms[0];
frm.inpSel.options[frm.inpSel.selectedIndex].value=frm.inpTxt.value;
}
function pfncSelChg(){
var frm = document.forms[0];
frm.inpTxt.value = frm.inpSel.options[frm.inpSel.selectedIndex].value;
}
//-->
</script>
<form><input type="text" name="inpTxt" onchange="pfncInpChg()"> <select name="inpSel" onchange="pfncSelChg()">
<option value="01">月 </option>
<option value="02">火 </option>
<option value="03">水 </option>
<option value="04">木 </option>
<option value="05">金 </option>
</select></form>
質問の意味を読み違えているかもしれないので自信ないですけど・・。
この回答への補足
どうでしょう?この回答の例だとvalueに値を設定しているため、その内容が上書きされるのでは?
例えば現在水曜日が選択されていて、テキストに『01』と入力したとします。
その場合にOPTIONのVALUE値が『01』になると
<option value="01">月 </option>
<option value="02">火 </option>
<option value="01">水 </option>
<option value="04">木 </option>
<option value="05">金 </option>
ということにはならないですか?
説明が不足していて申し訳ありません。
『SELECT項目の選択のみ切り替える』といった表現で伝わるでしょうか?
No.1
- 回答日時:
例えば、なんと言うデータを入力するとどの項目が選ばれる仕組みなんでしょう?
手動入力のデータからselectデータを選ぶとなるとかなりあいまいに
なると思いますので・・・。
一応、イメージとしてはforでselectのデータをなめて、合致したら
その項目のindexをそのselectのselectedIndexにあてる・・・
とかそんな感じでしょうか
この回答への補足
そうですね!説明不足でした><
selectのvalue値(つまり『01』~『05』)を入力し、選択項目を変更する。
あとselectedIndexは参照のみではないのでしょうか?
値を設定しようとしたらエラーになったのですが...
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript 電車の運賃を出すプログラムを作っています。 2 2022/06/22 09:36
- JavaScript 中百舌鳥駅と深井駅を入れ替えて選択しても同じ挙動にしたいです。 2 2022/06/24 18:45
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セレクトボックスの中を一部隠...
-
【プルダウンで選んでGOボタン...
-
セレクトメニューで2つの項目...
-
<SELECT>タグの折り返し
-
optionのselectedは更新時は効...
-
セレクトボックスの文字
-
プルダウンメニューで中央表示
-
プルダウン式のメニューで・・・
-
文字の横にプルダウンを表示さ...
-
セレクトボックスのselected属...
-
携帯サイトで他ページに飛ぶプ...
-
セレクトボックスから別窓にジ...
-
CLispのloop内の挙動について
-
Application.ScreenUpdating = ...
-
JSONで文字列が長い時
-
Pythonでターミナルに文字を出...
-
どちのほうがすきですか?
-
パイソンのクラスのブログラム
-
パイソンのクラスについて
-
パイソンプログラミング
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
文字の横にプルダウンを表示さ...
-
セレクトメニューで2つの項目...
-
<SELECT>タグの折り返し
-
テーブル内でドロップダウンメ...
-
セレクトボックスのselected属...
-
セレクトボックスの「選択して...
-
同じものを繰り返し表示させる
-
セレクトメニューで選んだ値を...
-
セレクトボックスである項目を...
-
SELECT OPTIONの中身をコピペ...
-
複数列を持ったリストボックス...
-
セレクトボックスから別窓にジ...
-
プルダウンメニューのボタンの...
-
プルダウンリストの背景色の指定
-
プルダウンで別項目に値を代入...
-
[html]ラジオボタンを使った診...
-
selectタグ内の特定のoptionの...
-
フォームの「キャンセル」ボタ...
-
プルダウンメニューで中央表示
-
select boxとinput valuの連動
おすすめ情報