回答編集履歴
2
追記
answer
CHANGED
@@ -50,26 +50,76 @@
|
|
50
50
|
</div>
|
51
51
|
<input type=submit value=次へ></form>
|
52
52
|
```
|
53
|
+
# 追記
|
54
|
+
念の為hojoの引き継ぎも追記しておきます
|
53
55
|
|
54
|
-
# 追記
|
55
|
-
php側の処理
|
56
56
|
```PHP
|
57
57
|
$selected=[];
|
58
|
+
$list=[
|
58
|
-
|
59
|
+
"kanjo"=>["yokin","shomohin","uriage"],
|
59
|
-
array_walk($list_kanjo,function($i) use(&$selected){
|
60
|
-
|
60
|
+
"hojo"=>["A銀行","B銀行","FF","ボトル","文旦","小夏"],
|
61
|
-
|
61
|
+
];
|
62
|
+
$vals=[
|
62
|
-
|
63
|
+
"kanjo"=>filter_input(INPUT_POST,"kanjo"),
|
64
|
+
"hojo"=>filter_input(INPUT_POST,"hojo"),
|
65
|
+
];
|
63
|
-
|
66
|
+
foreach($list as $key=>$arr){
|
67
|
+
foreach($arr as $val){
|
64
|
-
|
68
|
+
$selected[$key][$val]=($val==$vals[$key]?" selected":"");
|
69
|
+
}
|
65
70
|
}
|
66
71
|
```
|
72
|
+
javascriptでhojoの送るものを選別
|
73
|
+
```javascript
|
74
|
+
NodeList.prototype.hide=function(){
|
75
|
+
Array.prototype.map.call(this,function(i){
|
76
|
+
i.style.display = 'none';
|
77
|
+
i.disabled = true;
|
78
|
+
});
|
79
|
+
};
|
67
|
-
|
80
|
+
HTMLElement.prototype.show=function(){
|
81
|
+
this.style.display = 'inline';
|
82
|
+
this.disabled = false;
|
83
|
+
};
|
84
|
+
window.onload=function(){
|
85
|
+
document.querySelector(".kanjo").addEventListener('change',function(e){
|
86
|
+
var p=e.target.parentNode;
|
87
|
+
p.querySelectorAll(".hojo").hide();
|
88
|
+
p.querySelector("#"+e.target.value).show();
|
89
|
+
});
|
90
|
+
if(document.createEvent){
|
91
|
+
var e=document.createEvent('UIEvents');
|
92
|
+
e.initEvent("change",true,true);
|
93
|
+
}else{
|
94
|
+
var e=new Event("change");
|
95
|
+
}
|
96
|
+
document.querySelector(".kanjo").dispatchEvent(e);
|
97
|
+
}
|
68
98
|
|
99
|
+
```
|
100
|
+
上記を設定した上でHTML部分も調整
|
101
|
+
|
69
102
|
```HTML
|
103
|
+
<form method="POST">
|
104
|
+
<div class="pulldownset">
|
70
105
|
<select class="kanjo" name="kanjo">
|
71
106
|
<option value="yokin"<?PHP print $selected["kanjo"]["yokin"];?>>預金</option>
|
72
107
|
<option value="shomohin"<?PHP print $selected["kanjo"]["shomohin"];?>>消耗品</option>
|
73
108
|
<option value="uriage"<?PHP print $selected["kanjo"]["uriage"];?>>売上</option>
|
74
109
|
</select>
|
110
|
+
|
111
|
+
<select id="yokin" class="hojo" name="hojo">
|
112
|
+
<option value="A銀行"<?PHP print $selected["hojo"]["A銀行"];?>>A銀行</option>
|
113
|
+
<option value="B銀行"<?PHP print $selected["hojo"]["B銀行"];?>>B銀行</option>
|
114
|
+
</select>
|
115
|
+
<select id="shomohin" class="hojo" name="hojo">
|
116
|
+
<option value="FF"<?PHP print $selected["hojo"]["FF"];?>>FF</option>
|
117
|
+
<option value="ボトル"<?PHP print $selected["hojo"]["ボトル"];?>>ボトル</option>
|
118
|
+
</select>
|
119
|
+
<select id="uriage" class="hojo" name="hojo">
|
120
|
+
<option value="文旦"<?PHP print $selected["hojo"]["文旦"];?>>文旦</option>
|
121
|
+
<option value="小夏"<?PHP print $selected["hojo"]["小夏"];?>>小夏</option></select>
|
122
|
+
</div>
|
123
|
+
<input type=submit value=次へ></form>
|
75
|
-
```
|
124
|
+
```
|
125
|
+
|
1
追記
answer
CHANGED
@@ -49,4 +49,27 @@
|
|
49
49
|
<option value="小夏">小夏</option></select>
|
50
50
|
</div>
|
51
51
|
<input type=submit value=次へ></form>
|
52
|
+
```
|
53
|
+
|
54
|
+
# 追記
|
55
|
+
php側の処理
|
56
|
+
```PHP
|
57
|
+
$selected=[];
|
58
|
+
$list_kanjo=["yokin","shomohin","uriage"];
|
59
|
+
array_walk($list_kanjo,function($i) use(&$selected){
|
60
|
+
$selected["kanjo"][$i]="";
|
61
|
+
});
|
62
|
+
$val_kanjo=filter_input(INPUT_POST,"kanjo");
|
63
|
+
if(in_array($val_kanjo,$list_kanjo)){
|
64
|
+
$selected["kanjo"][$val_kanjo]=" selected";
|
65
|
+
}
|
66
|
+
```
|
67
|
+
上記を設定した上でkanjoのあたりのHTML部分を以下のようにしてください
|
68
|
+
|
69
|
+
```HTML
|
70
|
+
<select class="kanjo" name="kanjo">
|
71
|
+
<option value="yokin"<?PHP print $selected["kanjo"]["yokin"];?>>預金</option>
|
72
|
+
<option value="shomohin"<?PHP print $selected["kanjo"]["shomohin"];?>>消耗品</option>
|
73
|
+
<option value="uriage"<?PHP print $selected["kanjo"]["uriage"];?>>売上</option>
|
74
|
+
</select>
|
52
75
|
```
|