![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
No.2ベストアンサー
- 回答日時:
こんな感じでどうでしょう?
1つ目の選択肢を選んだら、
・2つ目の選択肢を一度全部消す
・1つ目で選ばれたものを除いて、2つ目の選択肢を追加する
というやり方です。
---
<html>
<head>
<script type="text/javascript">
var defaultOptions = [
{'value':'a', 'txt':'A', 'selected':true}, //<option value='a' selected="selected">A</option>
{'value':'b', 'txt':'B'},
{'value':'c', 'txt':'C'},
{'value':'d', 'txt':'D'}
];
window.onload = function() {
var s0 = document.getElementById('s0');
var s1 = document.getElementById('s1');
appendOptions(s0);
appendOptions(s1, s0.selectedIndex);
s0.onchange = function() {
var s1 = document.getElementById('s1');
removeOptions(s1)
appendOptions(s1, this.selectedIndex)
}
function appendOptions(sel) {
for (var i = 0, n = defaultOptions.length; i < n; i++) {
if (i == arguments[1]) continue;
var op = document.createElement('option');
op.value = defaultOptions[i].value;
op.innerHTML = defaultOptions[i].txt;
if (defaultOptions[i].selected) op.selected = 'selected';
sel.appendChild(op);
}
}
function removeOptions(sel) {
while (sel.getElementsByTagName('option').length) {
sel.removeChild(sel.getElementsByTagName('option')[0]);
}
}
}
</script>
</head>
<body>
<form>
<select id="s0"></select>
<select id="s1"></select>
</form>
</body>
</html>
No.3
- 回答日時:
use AJAX
No.1
- 回答日時:
その作業によって消してしまうと、別の選択肢を選んだときに、
復活してまた別の選択肢を消すと言う面倒な作業になります。
同じものをえらんだら、デフォルト値にもどるという程度が実装する
妥当なラインだと思いますが・・・
<script>
function check(obj){
var f=obj.form;
for(var i=0;i<f.length;i++){
if(f[i]!=obj && f[i].value==obj.value && obj.value!=""){
obj.selectedIndex=0;
break;
}
}
}
</script>
<form>
<p>
<select name="s1" onChange="check(this)">
<option value="">選択して</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
</select>
<select name="s2" onChange="check(this)">
<option value="">選択して</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
</select>
</p>
</form>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのA1~A5の任意のセルを選んだら1、A6~A10のセルなら2と返す設定にしたいと思ってます 6 2023/03/20 18:46
- Excel(エクセル) エクセルを活用して受注表を作成中ですが関数が分からなく困ってました。 1 2022/07/22 09:14
- HTML・CSS HTMLのフォームについてお尋ねします 1 2022/12/03 21:47
- 防犯カメラ・監視カメラ・小型カメラ Windowsのカメラ機能。設定した通りのfpsでの撮影ができず、コマ落ち動画になる。修正するには? 2 2023/01/29 09:50
- JavaScript jsで診断コンテンツのページ内切り替えについて 1 2023/04/14 17:31
- 教えて!goo 「教えて!goo」のルールで質問があります。 1 2022/06/17 05:57
- 飲食店・レストラン 飲食店で食べ物を選ぶのに時間をかける友人。男です。例えばレストランでメニューを選ぶ際、私は30秒あれ 3 2022/10/15 08:14
- Excel(エクセル) コンボボックス及びリストボックスを5段階連動させる方法をご存知の方ご教授頂きたいです。 Excelで 3 2022/04/03 21:43
- 計算機科学 アルゴリズムについて 1 2023/01/01 19:43
- 学校 大学の学部変更 2 2022/09/15 18:37
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プルダウン選択を変更すると、...
-
javascriptでセレクトボックス...
-
VBScriptでHTMLのセレクトボッ...
-
【javascript】連想配列からセ...
-
select要素のvalueを配列で取得...
-
selectが変更されたらnameを指...
-
セレクトボックスを2つ選択して...
-
連想配列からセレクトボックス...
-
<input>の選択肢をプルダウンメ...
-
ラジオボタンとプルダウンを連...
-
ラジオボタンの選択に応じてプ...
-
addclassがうまく働きません
-
selectを変更不可にしたい
-
同じ名前のセレクトがある場合...
-
JavaScriptで<select>の<option...
-
プルダウンで選択した項目にあ...
-
プルダウンの値によって活性・...
-
selectの初期値を設定したい
-
まったく同じ<select>フォーム...
-
セレクトボックスを使用した、...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
javascriptでセレクトボックス...
-
selectを変更不可にしたい
-
全てのselect要素をデフォルト...
-
<input>の選択肢をプルダウンメ...
-
Selectボックスの一覧表示方法
-
プルダウン選択を変更すると、...
-
セレクトボックスで配列を呼び...
-
JavaScriptで<select>の<option...
-
プルダウンのoptionの表示・非...
-
select要素のvalueを配列で取得...
-
【javascript】連想配列からセ...
-
ラジオボタンとプルダウンを連...
-
同じ名前のセレクトがある場合...
-
selectボックスの選択結果を変...
-
プルダウンの値によって活性・...
-
javascriptで合計金額を算出し...
-
プルダウンメニューに連動する...
-
リストボックス内の重複したも...
-
VBScriptでHTMLのセレクトボッ...
-
連想配列を使ってコンボボック...
おすすめ情報