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

回答編集履歴

1

汎用的に利用できる方法を追記しました

2015/10/12 16:51

投稿

yura
yura

スコア61

answer CHANGED
@@ -38,4 +38,48 @@
38
38
  // 二つ目のセレクトボックス
39
39
  custom_selectbox('.p02', '.i02');
40
40
  });
41
- ```
41
+ ```
42
+
43
+ ※ 追記
44
+
45
+ セレクトボックスの数が多く汎用的に使える方法をご希望とのことでしたので、
46
+ セレクトボックスそれぞれにクラス名(もしくはID)を割り振らないで済む方法を追記します。
47
+
48
+ ```html
49
+ <div class="custom-selectbox">
50
+ <div class="inner"><span>--</span></div>
51
+ <select name="month">
52
+ <option value="" selected="selected">--</option>
53
+ <option value="1">January</option>
54
+ <option value="2">February</option>
55
+ <option value="3">March</option>
56
+ </select>
57
+ </div>
58
+
59
+ <div class="custom-selectbox">
60
+ <div class="inner"><span>--</span></div>
61
+ <select name="month">
62
+ <option value="" selected="selected">--</option>
63
+ <option value="1">January</option>
64
+ <option value="2">February</option>
65
+ <option value="3">March</option>
66
+ </select>
67
+ </div>
68
+ ```
69
+
70
+ ```javascript
71
+ function change_selectbox(select) {
72
+ var item = select.children('option:selected').text();
73
+ select.prev('.inner').find('span').text(item);
74
+ }
75
+
76
+ jQuery(function(){
77
+ // セレクトボックスの変更時に.innerのspanを書き換え
78
+ jQuery('select').change(function() {
79
+ change_selectbox(jQuery(this));
80
+ });
81
+ });
82
+ ```
83
+
84
+ JSFiddleで動作を確認しました。
85
+ [https://jsfiddle.net/2k9wxgev/](https://jsfiddle.net/2k9wxgev/)