
Javascriptでフォームのセレクトボックスの同期をとる方法について質問させてください。
フォームに「期間を指定」するための【開始日】と【終了日】という項目があり、それぞれにセレクトボックスで年、月、日を指定するようになっています。
このセレクトボックスの【開始日】を仮に 2010年 9月 27日 に設定したら、自動的に【終了日】もそれに合わせて 2010年 9月 27日 と変化するようにしたいと思います。
私なりに調べてみたのですが、こういった処理をなんと呼ぶのかもわからず、うまく検索できませんでした。
どなたか解決策をご存じの方がいらっしゃいましたら、ご意見をください。
よろしくお願い致します。
No.2ベストアンサー
- 回答日時:
全体に何をしたいのか不明なので・・・
役には立たないと思うけれど、ご質問のように動くもの。
(追加質問は無しね)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>test</title>
<meta http-equiv="Content-Script-Type" content="text/javascript">
<script type="text/javascript">
<!--
function sample(evt) {
var t = evt.target || evt.srcElement;
t.form.elements[t.name.replace(/^start/, "end")].selectedIndex = t.selectedIndex;
}
//-->
</script>
</head>
<body>
<form>
<div>
【開始日】
<select name="start_year" onchange="sample(event)">
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
</select>
年
<select name="start_month" onchange="sample(event)">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
月
<select name="start_day" onchange="sample(event)">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
日
</div>
<div>
【終了日】
<select name="end_year">
<option value="2010">2010</option>
<option value="2011">2011</option>
<option value="2012">2012</option>
</select>
年
<select name="end_month">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
月
<select name="end_day">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
</select>
日
</div>
</form>
</body>
</html>
No.3
- 回答日時:
たぶんこうなのでは。
クライアントが開始年月日のセレクトボックスを選択(onchange)すると、
終了日のセレクトボックスの年月日を開始日と同じ年月日にセット。
かつ開始日以前には設定できないように開始日以前のoptionをremoveする。
(終了日が開始日以前になってしまわないように)
開始月が次月以降であれば、
開始日のoptionをcreateして全ての日を選択できるようにする。
開始日が決まったら、
クライアントが終了日を選んで(開始日=終了日でもOK)
セット(&送信する?)したら作業終了。
開始日も今日以前を選べなくするのであれば、
load時にnew Dateから今日の日付をgetDateして、
開始日のoptionをcreateしなきゃならないのでは。
考えただけで面倒くさそうですね。
この回答への補足
ご返答ありがとうございます。
javascriptは初心者でよくわからないのですが、いただいたご意見を参考に取り組んでみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
selectを変更不可にしたい
-
<input>の選択肢をプルダウンメ...
-
スマホのフォームでのselect複...
-
javascript:データを日本語で...
-
disableとすることなく、ユーザ...
-
jqueryでセレクトメニュー+スク...
-
phpの絞り込みデータを最初から...
-
<select> をmultiple にしてい...
-
selectボックスで選択数を制限...
-
Javascriptでフォームのセレク...
-
select要素のvalueを配列で取得...
-
ラジオボタンの選択に応じてプ...
-
プルダウンメニューを選択した...
-
selectの初期値を設定したい
-
セレクトボタンで特定の項目で...
-
【jQuery】input nameの文字列...
-
onClick="this.form.submit
-
プルダウン 項目が多いので先頭...
-
開いた子ウィンドウにあるボタ...
-
confirmのOK・キャンセルを押し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでoptionタグを削除...
-
<input>の選択肢をプルダウンメ...
-
プルダウン選択を変更すると、...
-
selectを変更不可にしたい
-
javascriptでセレクトボックス...
-
スマホのフォームでのselect複...
-
プルダウンメニューの件でお願...
-
【JS】selectでchangeした時の...
-
Selectボックスの一覧表示方法
-
AxWebBrowserで開いたWebページ...
-
selectを使った計算
-
selectボックスで選択数を制限...
-
プルダウンメニューのvalue値を...
-
セレクトボックスで選択した内...
-
セレクトメニューの値の取得
-
ラジオボタンとプルダウンを連...
-
プルダウンの選択内容を次のペ...
-
C#(csファイル)とjavascriptと...
-
複数のプルダウンを1つにまとめ...
-
同じ名前のセレクトがある場合...
おすすめ情報