質問するログイン新規登録

回答編集履歴

1

chousei

2019/11/14 04:15

投稿

yambejp
yambejp

スコア118110

answer CHANGED
@@ -1,2 +1,30 @@
1
1
  document_select.phpはrequiredされてセレクトボックスをなにか選択すればOKできますね
2
- 動かないなら一度jsをすべて外してテストしてください
2
+ 動かないなら一度jsをすべて外してテストしてください
3
+
4
+ # 追記
5
+ なんかjsがエラーになってたので調整しました
6
+ 送らないsubboxをdisabledにすればいいです
7
+ ```javascript
8
+ document.addEventListener('DOMContentLoaded', function() {
9
+ var allSubBoxes = document.getElementsByClassName("subbox");
10
+ for( var i=0 ; i<allSubBoxes.length ; i++) {
11
+ allSubBoxes[i].style.display = 'none';
12
+ }
13
+ var mainBoxes = document.getElementsByClassName('pulldownset');
14
+ for( var i=0 ; i<mainBoxes.length ; i++) {
15
+ var mainSelect = mainBoxes[i].getElementsByClassName("mainselect");
16
+ mainSelect[0].onchange = function () {
17
+ var subBox = this.parentNode.getElementsByClassName("subbox"); // 同じ親要素に含まれる.subbox(※select要素に限らず、どんな要素でも構いません。)
18
+ for( var j=0 ; j<subBox.length ; j++) {
19
+ subBox[j].style.display = 'none';
20
+ subBox[j].disabled=true;
21
+ }
22
+ if( this.value ) {
23
+ var targetSub = document.getElementById( this.value ); // 「メインのプルダウンメニューで選択されている項目のvalue属性値」と同じ文字列をid属性値に持つ要素を得る
24
+ targetSub.style.display = 'inline';
25
+ targetSub.disabled=false;
26
+ }
27
+ }
28
+ }
29
+ });
30
+ ```